透過 Drone CLI 手動觸發 CI/CD 流程

drone promotion


相信大家對於 Drone 並不陌生,這次來介紹 Drone 1.0 的新功能 (更多的 1.0 功能會陸續介紹,也可以參考之前的文章),叫做 promotion,為什麼作者會推出這功能呢?大家在團隊工作時,有些步驟真的無法導入 CI/CD 自動化流程,而是需要人工介入後,再做後續處理?相信一定會遇到此狀況,PM 或老闆看過沒問題後,才需要手動觸發流程,在此功能以前,都會麻煩工程師幫忙做後續自動化流程,但是有了 promotion,現在連 PM 都可以透過 Drone CLI 來自己做部署啦,這邊就是介紹給大家,如何透過 Drone CLI 指令來觸發已存在的工作項目。



影片教學



如何使用


首先你必須要先安裝好 Drone CLI,安裝方式可以直接參考官方教學即可,透過底下例子來了解怎麼使用 promotion


kind: pipeline
name: testing

steps:
- name: stage
image: golang
commands:
- echo "stage"
when:
event: [ promote ]
target: [ staging ]

  • name: production
    image: golang
    commands:

    • echo "production"
      when:
      event: [ promote ]
      target: [ production ]

  • name: testing
    image: golang
    commands:

    • echo "testing"
      when:
      event: [ promote ]
      target: [ testing ]

上面可以看到,在 when 的條件子句內,可以設定 event 為 promote,接著 target 可以設定為任意名稱,只要是 promote 的 event type,在透過 git commit 預設都不會啟動的,只能透過 drone CLI 方式才可以觸發,那該如何執行命令呢?請看底下


drone build promote <repo> <build> <environment>

其中 build 就是直接在後台列表上找一個已經執行過的 job ID


drone build promote appleboy/golang-example 6 production

心得


Drone 提供手動觸發的方式相當方便,畢竟有些情境真的是需要人工審核確認過後,才可以進行後續的流程,透過此方式,也可以寫一些 routine 的 job 讓其他開發者,甚至 PM 可以透過自己的電腦觸發流程。




comments powered by Disqus