今天來介紹Drone的排程設定功能及應用
有三個方法可以設定排程
此篇主要用 From Drone Server UI & From Drone CLI 兩種方式設定來介紹
先到 Drone Server 進入你要設定的repo setting介面,下面有個設定Cron Jobs的功能
為大家示範,我建立了三個分支ithome01, ithome02, ithome03 都設定每小時跑一次
如果想要用drone cli也可以
進入Drone Server Web UI 右上角 -> 點選 User Settings -> 執行 Example CLI Usage 下方的指令
就完成Drone CLI 的初始化設定囉
列出該專案的所有排程任務
drone cron ls my/ithome
ithome01
Expr: @hourly
Next: 2020-09-20 00:00:00 +0800 CST
ithome02
Expr: @hourly
Next: 2020-09-20 00:00:00 +0800 CST
ithome03
Expr: @hourly
Next: 2020-09-20 00:00:00 +0800 CST
Most examples on the internet represent the times using 5 space-separated fields and exclude seconds. Excluding seconds will lead to unexpected behavior.
建立任務時,Drone 的 cron job跟一般不一樣的地方在於 它多了「秒」的設定,所以務必填寫6個參數5個空格,才不會有非預期的錯誤唷!
CronExp 排程表達式:
圖片來自官網的介紹
https://docs.drone.io/cron/
drone cron add "my/ithome" "hourly 45min 30sec" "30 45 * * * *" --branch ithome01
列出該專案的所有排程任務
drone cron ls my/ithome
hourly-45min-30sec
Expr: 30 45 * * * *
Next: 2020-09-21 09:45:30 +0800 CST
ithome01
Expr: @hourly
Next: 2020-09-21 10:00:00 +0800 CST
ithome02
Expr: @hourly
Next: 2020-09-21 10:00:00 +0800 CST
ithome03
Expr: @hourly
Next: 2020-09-21 10:00:00 +0800 CST
可以從列表看到自訂的排程已建立囉~
Timezones
The current implementation calculates the execution time based on UTC as opposed to local time.
由於文件上有說明,Cron Jobs 的時區是依照 UTC(Universal Time Coordinated),所以需要自己在轉換一下時間唷~
常用來