iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 24
0
DevOps

Container 容器三十問系列 第 24

如何在程式異動時觸發在容器平台建構與佈署?

上次我們是用預設的 git repo 來做示範,這次我們改用自己的 git repo 來試試看吧。

  1. 先登入自已的 github,然後把上次用的 git repo fork 回來
  2. 把下面這段定義的 %YOUR_GITHUB_USERNAME% 改成你的 GitHub username,然後從上次步驟二的 Import YAML/JSON 把這段定義匯入。

如果你有注意到的話,上次匯入的內容是 json format,這次匯入的是 yaml format

apiVersion: v1
kind: BuildConfig
metadata:
  labels:
    app: nodejs-helloworld-sample
    name: nodejs-sample-build
    template: application-template-stibuild
  name: frontend
spec:
  output:
    to:
      kind: ImageStreamTag
      name: origin-nodejs-sample:latest
  postCommit: {}
  resources: {}
  runPolicy: Serial
  source:
    git:
      uri: https://github.com/%YOUR_GITHUB_USERNAME%/nodejs-ex.git
    type: Git
  strategy:
    sourceStrategy:
      from:
        kind: ImageStreamTag
        name: nodejs-010-centos7:latest
    type: Source
  triggers:
  - github:
      secret: secret101
    type: GitHub
  - generic:
      secret: secret101
    type: Generic
  1. 讓 Github 可以透過 webhook 呼叫到 Jenkins 的 OpenShift Sample 作業,這部份作法請參閱 保哥的文章,你可以從文章這一段:

設定完成後,直接到任何一個作業 (Job) 的組態設定頁面 ...

看到 Jenkins 和 Github 間 webhook 的設定方式。但是只看這一段是不 work 的,還要再看文章中的這一段:

改用 基本驗證 (Basic Authentication) 方式通過 API 驗證 ...

才會打通。

  1. 在 Github 修改程式後,即會觸發 Jenkins 的 OpenShift Sample 作業。

完成以上動作就可以在 Github 出 event 的時候觸發 Jenkins 執行建構與佈署了。


佈署完還能做什麼呢?當然是想辦法再把佈署完的應用 搞 爛 啊!


上一篇
容器平台能怎麼用?
下一篇
如何在容器平台上搞爛佈署好的應用?
系列文
Container 容器三十問30

尚未有邦友留言

立即登入留言