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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/citasks/ci_lib.rb +22 -17
  3. data/lib/citasks.rb +6 -2
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 957bcedfb3611c100ccab26a6d4f4b568f81e239
4
- data.tar.gz: 41d396cf38779faa1140efce7fb14e8a872b718d
3
+ metadata.gz: f3d41bf164110e3e84deac18d24e4d0f55a31081
4
+ data.tar.gz: 59e7113f5f58269dc6208b5e427861c5195c5bfa
5
5
  SHA512:
6
- metadata.gz: 7b2221814042be344743e0adb8510b75ba99446c434bf4bce40340fe582f39cf7ce2296acd63eac5580517a22e38ea0d6960204580c9756d12326f91780746fe
7
- data.tar.gz: 1f5b95da5d069ab0c8def0825e245441d2180c159daa52284d4aa10e4a2100a14d74ef97e7ce506940a7bc2d29fa5a0589265091ea83539d69d9185be3b44a68
6
+ metadata.gz: 91261b3b0c0c5acf3a633470a214a3f679590881279afe74ab84452a02f785cef050ae72cee8c55ac5adb4916e931661668b99e726bb334117e72c521dca86b5
7
+ data.tar.gz: a0486b4b83ea0000c9019ee565301d64bbe44b93f6a9d9c9a3bb22207ef92313324da1bdbd938a7cf6fd7817aeb10dae1d1369508bcd11b4a51da79996b14ba7
@@ -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
- secret_token = token_shared_persistently if secret_token.nil?
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
- _write xml_file_name, <<~EOF
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
- <secretToken>#{secret_token}</secretToken>
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=master.cfc
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=default
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
- if Shell.test %Q(kubectl get deployment | grep \#{deployment} )
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
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: citasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zhimin Wen