Quantcast
Viewing all articles
Browse latest Browse all 325

Drone CI/CD 支援 Auto cancellation 機制

Image may be NSFW.
Clik here to view.

大家一定會問什麼是『Auto cancellation』呢?中文翻作自動取消,這機制會用在 CI/CD 的哪個流程或步驟呢?我們先來探討一個情境,不知道大家有無遇過在同一個 branch 陸續發了 3 個 commit,會發現在 CI/CD 會依序啟動 3 個 Job 來跑這 3 個 commit,假設您有設定同時間只能跑一個 Job,這樣最早的 commit 會先開始啟動,後面兩個 commit 則會處於 Penging 的狀態,等到第一個 Job 完成後,後面兩個才會繼續執行。

這邊就會有個問題出現,假設後續團隊又 commit 了 10 個 job,這樣 Pending 狀態則會越來越多,不會越來越少,這時候開發者一定會想,有沒有辦法只保留最新的 Job,而舊有的 Pending Job 系統幫忙取消呢?這個功能在 Travis CI 已經有後台可以啟動,新專案也是預設啟動的,也就是假設現在有一個 job 正在執行,有九個 job 正在 pending 時,新的 job 一進來後,CI/CD 服務就會自動幫忙取消舊有的九個 Job,只保留最新的,確保系統不會浪費時間在跑舊的 Job。Drone 在 1.6 也支持了此功能,底下來看看如何設定 Drone 達到此需求。

影片教學

更多實戰影片可以參考我的 Udemy 教學系列

設定 Drone

Drone 在 1.6 版才正式支援『Auto cancellation』,而且每個專案預設是不啟動的,需要透過 Drone CLI 才能正確啟動。底下來看看如何透過 CLI 啟動:

# 啟用 pull request
drone repo update \
  --auto-cancel-pull-requests=true 
  appleboy/go-hello
# 啟用 push event
drone repo update \
  --auto-cancel-pushes=true \
  appleboy/go-hello

目前還沒有辦法透過後台 UI 介面啟用,請大家使用上述指令來開啟 Auto Cancellation 功能。


Viewing all articles
Browse latest Browse all 325

Trending Articles


EASY COME, EASY GO


UPDATE SC IDOL: TWO BECOME ONE


KASAMBAHAY BILL IN THE HOUSE


Girasoles para colorear


Presence Quotes – Positive Quotes


Maganda Quotes – tagalog Quotes – Inggit Quotes


Long Distance Relationship Tagalog Love Quotes


Re:Mutton Pies (lleechef)


Ka longiing longsem kaba skhem bad kaba khlain ka pynlong kein ia ka...


Vimeo 10.7.0 by Vimeo.com, Inc.


FORECLOSURE OF REAL ESTATE MORTGAGE


FORTUITOUS EVENT


Pokemon para colorear


Sapos para colorear


Smile Quotes


Tiwala Quotes and Selos Quotes Collections


Love with Heart Breaking Quotes


RE: Mutton Pies (frankie241)


Hato lada ym dei namar ka jingpyrshah jong U JJM Nichols Roy (Bah Joy) ngin...


Vimeo 10.7.1 by Vimeo.com, Inc.