citasks 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/citasks/ci_lib.rb +22 -17
- data/lib/citasks.rb +6 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3d41bf164110e3e84deac18d24e4d0f55a31081
|
4
|
+
data.tar.gz: 59e7113f5f58269dc6208b5e427861c5195c5bfa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91261b3b0c0c5acf3a633470a214a3f679590881279afe74ab84452a02f785cef050ae72cee8c55ac5adb4916e931661668b99e726bb334117e72c521dca86b5
|
7
|
+
data.tar.gz: a0486b4b83ea0000c9019ee565301d64bbe44b93f6a9d9c9a3bb22207ef92313324da1bdbd938a7cf6fd7817aeb10dae1d1369508bcd11b4a51da79996b14ba7
|
data/lib/citasks/ci_lib.rb
CHANGED
@@ -30,10 +30,14 @@ module JenkinsTools
|
|
30
30
|
|
31
31
|
# git_repo_url = http://virtuous-porcupine-gitlab-ce/wenzm/icp-static-web.git, gitlab-wenzm-password
|
32
32
|
def self.gen_job_xml job_name, xml_file_name, git_repo_url, repo_credential_id_in_jenkins, secret_token=nil
|
33
|
-
|
33
|
+
enable_secret_token = ENV["JENKIN_PROJECT_ENDPOINT_AUTHENTICATION"].upcase == "TRUE"
|
34
|
+
|
35
|
+
if enable_secret_token
|
36
|
+
secret_token = token_shared_persistently if secret_token.nil?
|
37
|
+
end
|
34
38
|
|
35
39
|
token_to_trigger_build_remotely = SecureRandom.uuid
|
36
|
-
|
40
|
+
erb = ERB.new <<~EOF
|
37
41
|
<?xml version='1.0' encoding='UTF-8'?>
|
38
42
|
<flow-definition plugin="#{WORKFLOW_PLUGIN}">
|
39
43
|
<actions/>
|
@@ -61,7 +65,9 @@ module JenkinsTools
|
|
61
65
|
<includeBranchesSpec></includeBranchesSpec>
|
62
66
|
<excludeBranchesSpec></excludeBranchesSpec>
|
63
67
|
<targetBranchRegex></targetBranchRegex>
|
64
|
-
|
68
|
+
<% if enable_secret_token %>
|
69
|
+
<secretToken><%= secret_token %></secretToken>
|
70
|
+
<% end %>
|
65
71
|
</com.dabsquared.gitlabjenkins.GitLabPushTrigger>
|
66
72
|
</triggers>
|
67
73
|
</org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty>
|
@@ -92,6 +98,8 @@ module JenkinsTools
|
|
92
98
|
<disabled>false</disabled>
|
93
99
|
</flow-definition>
|
94
100
|
EOF
|
101
|
+
|
102
|
+
_write xml_file_name, erb.result(binding)
|
95
103
|
end
|
96
104
|
|
97
105
|
def self.gen_jenkins_file
|
@@ -212,13 +220,15 @@ module Builder
|
|
212
220
|
_write ".env.build", <<~EOF
|
213
221
|
IMAGE_NAME=#{app_name}
|
214
222
|
|
215
|
-
PRIVATE_DOCKER_REGISTRY_NAME=
|
223
|
+
PRIVATE_DOCKER_REGISTRY_NAME=mycluster.icp
|
216
224
|
PRIVATE_DOCKER_REGISTRY_PORT=8500
|
217
225
|
PRIVATE_DOCKER_REGISTRY_IP=#{ENV["ICP_MASTER_IP"]}
|
218
|
-
PRIVATE_DOCKER_REGISTRY_NAMESPACE
|
226
|
+
PRIVATE_DOCKER_REGISTRY_NAMESPACE=#{ENV["PRIVATE_DOCKER_REGISTRY_NAMESPACE"]}
|
219
227
|
|
220
228
|
PRIVATE_DOCKER_REGISTRY_USER=admin
|
221
229
|
PRIVATE_DOCKER_REGISTRY_USER_PASSWORD=admin
|
230
|
+
|
231
|
+
K8S_NAMESPACE=#{ENV["K8S_NAMESPACE"]}
|
222
232
|
EOF
|
223
233
|
end
|
224
234
|
|
@@ -315,16 +325,8 @@ module Builder
|
|
315
325
|
end
|
316
326
|
end
|
317
327
|
|
318
|
-
def self.deploy_to_k8s deployment, yaml_file, image_name, new_image_name
|
319
|
-
|
320
|
-
Shell.run %Q(kubectl apply -f \#{yaml_file})
|
321
|
-
Shell.run %Q(kubectl set image deployment/\#{deployment} \#{image_name}=\#{new_image_name})
|
322
|
-
|
323
|
-
Shell.run %Q(kubectl rollout status deployment/\#{deployment})
|
324
|
-
else
|
325
|
-
puts "no deployment yet. create it"
|
326
|
-
Shell.run %Q(kubectl create -f \#{yaml_file} --record)
|
327
|
-
end
|
328
|
+
def self.deploy_to_k8s namespace, deployment, yaml_file, image_name, new_image_name
|
329
|
+
Shell.run %Q(kubectl apply -f \#{yaml_file})
|
328
330
|
end
|
329
331
|
end
|
330
332
|
EOF
|
@@ -373,7 +375,7 @@ module Builder
|
|
373
375
|
KubeTools.create_new_yaml yaml_template_file, yaml_file, data
|
374
376
|
|
375
377
|
deployment = image_name
|
376
|
-
KubeTools.deploy_to_k8s deployment, yaml_file, image_name, full_new_image_name
|
378
|
+
KubeTools.deploy_to_k8s ENV["K8S_NAMESPACE"], deployment, yaml_file, image_name, full_new_image_name
|
377
379
|
|
378
380
|
end
|
379
381
|
end
|
@@ -392,11 +394,12 @@ module Builder
|
|
392
394
|
end
|
393
395
|
end
|
394
396
|
|
395
|
-
def self.create_k8_file app_name
|
397
|
+
def self.create_k8_file namespace, app_name
|
396
398
|
_write "#{app_name}.k8.template.yaml", <<~EOF
|
397
399
|
apiVersion: extensions/v1beta1
|
398
400
|
kind: Deployment
|
399
401
|
metadata:
|
402
|
+
namespace: #{namespace}
|
400
403
|
name: #{app_name}
|
401
404
|
labels:
|
402
405
|
app: #{app_name}
|
@@ -417,6 +420,7 @@ module Builder
|
|
417
420
|
apiVersion: v1
|
418
421
|
kind: Service
|
419
422
|
metadata:
|
423
|
+
namespace: #{namespace}
|
420
424
|
name: #{app_name}
|
421
425
|
labels:
|
422
426
|
app: #{app_name}
|
@@ -433,6 +437,7 @@ module Builder
|
|
433
437
|
apiVersion: extensions/v1beta1
|
434
438
|
kind: Ingress
|
435
439
|
metadata:
|
440
|
+
namespace: #{namespace}
|
436
441
|
name: #{app_name}-ingress
|
437
442
|
labels:
|
438
443
|
app: #{app_name}-ingress
|
data/lib/citasks.rb
CHANGED
@@ -22,13 +22,17 @@ namespace "init" do
|
|
22
22
|
JENKINS_USER = wenzm
|
23
23
|
JENKINS_USER_API_TOKEN = f432de6a2fbeaaf58757f76194dcd825
|
24
24
|
|
25
|
+
JENKIN_PROJECT_ENDPOINT_AUTHENTICATION = false
|
26
|
+
|
25
27
|
JOB_NAME=#{project}
|
26
28
|
REPO_NAME=#{project}
|
27
29
|
|
28
30
|
COMPILER_DOCKER_IMAGE=maven:3.5-jdk-8
|
29
31
|
|
30
32
|
#for private docker registry
|
31
|
-
ICP_MASTER_IP=192.168.10.100
|
33
|
+
ICP_MASTER_IP=192.168.10.100
|
34
|
+
|
35
|
+
K8S_NAMESPACE=default
|
32
36
|
EOF
|
33
37
|
|
34
38
|
fh.puts content
|
@@ -67,7 +71,7 @@ namespace "Jenkins" do
|
|
67
71
|
Builder.create_env job_name
|
68
72
|
Builder.create_lib_files
|
69
73
|
Builder.create_rakefile
|
70
|
-
Builder.create_k8_file job_name
|
74
|
+
Builder.create_k8_file ENV["K8S_NAMESPACE"] || "default",job_name
|
71
75
|
Builder.create_dockerfile
|
72
76
|
end
|
73
77
|
|