citasks 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
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