1、創建 job
1)啟動 Jenkins 後在首頁點擊”開始創建一個新任務”。

2)輸入任務名稱,選擇自由風格,點擊「確定」。

2、構建保持配置
1) 任意輸入描述,然後勾選”丟棄舊的構建”, 在”保持構建的最大個數中”輸入 3。
由於 Jenkins 構建產生的日誌等信息會保存在本機磁碟中,這樣無限構建任務的話就會佔用很多磁碟空間,因此可以在這裡對舊的構建進行配置丟棄,可以選擇以天數為條件,也可以選擇保持的個數,這裡就以保持 3 個構建數為例。

3、參數化設置
1)勾選”參數化構建過程”,選擇添加”字元參數”

2)設置參數名稱、默認值和描述

4、定時構建
1)在”構建觸發器”中勾選”定時構建”,日程表中輸入H2/ * * * *,表示每兩分鐘構建一次。

5、Execute Shell
1)在構建中選擇執行 shell,簡單的執行一條列印語句,列印上面設置好的參數param;設置好之後保存即可。

6、結果展示
- 可以看到構建結果是每 2 分鐘構建一次,且只保留最近的 3 次構建,參數 param使用了默認值Jenkins。

- 打開控制台輸出可以看到執行的日誌信息。

- 如果想要修改參數值,選擇Build with Parameters,修改參數,點擊開始構建即可。


7、補充說明
7.1 定時構建時間描述
在上述設置定時構建時,輸入了一行命令H2/ * * * *來表示每隔 2 分鐘構建一次,這是一種crontab的寫法,具體描述分五個部分:
分鐘 小時 日期 月份 星期幾
* * * * *
- - - - -
| | | | |
| | | | +----- 星期中星期幾 (0 - 7) (星期天 為 0 或 7)
| | | +---------- 月份 (1 - 12)
| | +--------------- 一個月中的第幾天 (1 - 31)
| +-------------------- 小時 (0 - 23)
+------------------------- 分鐘 (0 - 59)- 星號(*):代表所有可能的值,例如 month 欄位如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該命令操作。
- 逗號(,):可以用逗號隔開的值指定一個列表範圍,例如,「1,2,5,7,8,9」。
- 中杠(-):可以用整數之間的中杠表示一個整數範圍,例如 「2-6」 表示 「2,3,4,5,6」。
- 正斜線(/):可以用正斜線指定時間的間隔頻率,例如 「0-23/2」 表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如 */10,如果用在 minute 欄位,表示每十分鐘執行一次。
但是實際在 Jenkins 中進行定時構建時,寫法相似但是還是有區別,還是以上述的H2/ * * * *來表示每隔 2 分鐘為例,當我們用*/2 * * * *寫法時:

可以看到 Jenkins 建議我們使用H來代表通配符,因此在表示每隔多久時建議使用H/的方式。
另外,如果表示每天上午 9 點構建,如果使用0 9 * * *:

可以看到 Jenkins 建議我們使用H 9 * * *的方式:
下面是一些常用定時方式的參考示例:
- 每 30 分鐘構建一次:H/30 * * * *。
- 每 2 小時構建一次:H H/2 * * *。
- 每天早上 9 點構建一次:H 9 * * *。
- 每天 8 點、12 點、21 點各構建一次:H 8,12,21 * * *。
- 周一至周五,每天 22 點到 23 點之間每隔 3 分鐘構建一次:H/3 22-23 * * 1-5。
7.2 時間不一致
7.2.1 現象原因
運行完畢後,會發現一個問題,構建的時間與我們實際的時間不一致:
- Jenkins 顯示時間


- 系統實際時間

因為我們是用 Docker 部署的,所以再通過列印 Docker 容器的時間進行查看:
jenkins@0520b8208ffb:/$ date
Fri Apr 10 01:35:30 UTC 2020
jenkins@0520b8208ffb:/$ exit
exit
xxxdeMacBook-Pro:jenkins_home xxx$ date
2020 年 4 月 10 日 星期五 09 時 35 分 35 秒 CST再進入”系統管理”->”系統信息”->”user.timezone”查看:

綜上所述可以確定因為 Jenkins 容器使用的是 UTC 時間,和我們的北京時間差了正好 8 個小時,針對我們是 Docker 部署的,解決方法如下 (其他直接在系統部署的可以另行百度~)。
7.2.2 解決方法
在 Jenkins 容器啟動的時候添加參數
$ docker run ... -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai啟動後再次查看”系統管理”->”系統信息”->”user.timezone”,發現時區已修改為上海:

查看構建歷史,發現時間已於系統時間保持一致,修改完成:

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/276296.html
微信掃一掃
支付寶掃一掃