透過 Drone CLI 手動觸發 CI/CD 流程
相信大家對於 Drone 並不陌生,這次來介紹 Drone 1.0 的新功能 (更多的 1.0 功能會陸續介紹,也可以參考之前的文章),叫做 promotion,為什麼作者會推出這功能呢?大家在團隊工作時,有些步驟真的無法匯入 CI/CD 自動化流程,而是需要人工介入後,再做後續處理?相信一定會遇到此狀況,PM 或老闆看過沒問題後,才需要手動觸發流程,在此功能以前,都會麻煩工程師幫忙做後續自動化流程,但是有了 promotion,現在連 PM 都可以透過 Drone CLI 來自己做部署啦,這邊就是介紹給大家,如何透過 Drone CLI 指令來觸發已存在的工作專案。
Youtube 教學: (歡迎訂閱 + 分享)
如何使用
首先你必須要先安裝好 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 可以透過自己的電腦觸發流程。
更多 Drone 教學: http://bit.ly/drone-2019
部落格: https://blog.wu-boy.com/2019/07/trigger-the-drone-job-via-promotion/
- 加微信實戰群請加微信(註明:實戰群):gocnio
相關文章
- Drone CI/CD 介紹
- Drone CI For Github —— 打造自己的CI/CD工作流(一)Github
- [小團隊自動化] (一) Drone CI For Github —— 打造自己的CI/CD工作流Github
- Go 語言開源 CI/CD 容器 Drone 介紹Go
- 輕量化自建 Drone CI For Gitea —— 打造自己的CI/CD工作流(三)Git
- [小團隊自動化] (三) 輕量化自建 Drone CI For Gitea —— 打造自己的CI/CD工作流Git
- 基於 Gogs + Drone 構建私有 CI/CD 平臺 | Docker 篇GoDocker
- 基於Drone實現CI/CD【0到1架構系列】架構
- Go-Zero 短鏈專案 DevOps 實戰,利用 Drone CI/CD 打通上雲(Kubernetes)迭代流程Godev
- 基於 Gitea+Drone CI+Vault 打造屬於自己的CI/CD工作流Git
- 透過雲效 CI/CD 實現微服務全鏈路灰度微服務
- [小團隊自動化] 基於 Gitea+Drone CI+Vault 打造屬於自己的CI/CD工作流Git
- Jenkins+GitLab+SonnarQube搭建CI/CD全流程JenkinsGitlab
- [小團隊自動化](二) Drone CI使用Vault作為憑據儲存 —— 打造自己的CI/CD工作流
- CI & CD ?
- GitOps:Weaveworks通過開發者工具實現CI/CDGit
- 群暉下 gitea+drone+harbor實現CI/CD 釋出到雲伺服器Git伺服器
- .NET 微服務——CI/CD(3):映象自動分發微服務
- CI/CD理解
- CI/CD流程 命令列方式與Jenkins Blue Ocean方式命令列Jenkins
- 【Kubernetes系列】第8篇 CI/CD之全流程實踐
- 一篇文章瞭解CI/CD管道全流程
- CI/CD的概述
- DevOps下微服務架構連續交付部署CI/CD流程dev微服務架構
- 前端初探 Gitlab CI/CD前端Gitlab
- Gitlab-CI/CD 2Gitlab
- gitlab 實現CI/CDGitlab
- Springboot 專案通過 gitlab CI/CD 整合 k8s 自動部署Spring BootGitlabK8S
- .NET 微服務——CI/CD(2):自動打包映象微服務
- DevOps,CI,CD,自動化簡單介紹dev
- 透過API觸發airflow的DAG任務APIAI
- dagger:用於CI/CD管道的行動式開發工具包
- java ci/cd環境搭建Java
- Android Gitlab CI/CD指令碼AndroidGitlab指令碼
- 什麼是 CI/CD? - reddit
- 輕鬆一刻|Walrus CLI與CI/CD工具整合,輕鬆部署2048遊戲遊戲
- 90%的開發都沒搞懂的CI和CD!
- 開發.NET Core NuGet包並實現CI/CD