Jenkins 基礎篇 – 任務分類

從前面的小節中我們看到在創建 Jenkins 任務的時候有好幾種類型,如果你專門安裝了 Maven 相關插件,可能還會有一個【構建一個 maven 項目】的任務類型,那這些任務類型究竟有何區別,以及我們在創建任務時這些類型該如何選擇呢?各個類型的具體區別其實看描述就能有個大概的了解,我這裡就不重複描述了,最有效的做法就是每種類型的任務都建立幾個,測試下看看有什麼差異,這種方式很快就會了解不同類型任務的功能特性。
image.png
我這裡主要介紹下【構建一個自由風格的軟體項目】、【流水線】、【文件夾】這三種類型。

構建一個自由風格的軟體項目:這是 Jenkins 的主要功能, Jenkins 將會結合任何 SCM 和任何構建系統來構建你的項目,甚至可以構建軟體以外的系統。

流水線:精心地組織一個可以長期運行在多個節點上的任務。適用於構建流水線(更加正式地應當稱為工作流),增加或者組織難以採用自由風格的任務類型。

文件夾:創建一個可以嵌套存儲的容器。利用它可以進行分組。 視圖僅僅是一個過濾器,而文件夾則是一個獨立的命名空間, 因此你可以有多個相同名稱的的內容,只要它們在不同的文件 夾里即可。

從描述中我們可以認為【文件夾】類型的任務就是一個獨立的集合,它可以針對這個文件夾有自己獨立的特殊配置文件,【文件夾】類型任務下面可以再建立所有類型的任務。自由風格類型的任務所有配置都在 Jenkins 上面進行配置修改,流水線類型的任務的配置是通過一種特定的語法腳本來描述。這些腳本文件可以通過程式碼倉庫進行管理起來。我們可以創建一個【流水線】類型的任務,看看詳細情況:
新建一個【流水線】類型的任務,名稱為 jenkins-pipeline-test-task
image.png
可以看到很多的配置選項都沒了,就剩一個編寫流水線腳本的文本框:
image.png
展開【try sample Pipeline…】選項,選擇【Hello World】,我們會看到文本框中會自動填入一段流水線程式碼:
image.png
【保存】後再【立即構建】看看效果吧,日誌輸出了 “Hello World”:
image.png
【流水線】類型的任務可以做到一些【自由風格】任務做不了的事情,並且一個最大的好處就是可以做到”配置及程式碼”,【流水線】類型的腳本文件除了直接在文本框裡面輸入還可以通過程式碼倉庫進行管理。Jenkins 流水線任務支援腳本式的語法和申明式語法,兩種語法的區別簡單講就是申明式語法有嚴格的語法結構,更加標準化,而腳本式語法就更加隨意些。兩種語法的具體區別可以看看官網的說明 //www.jenkins.io/zh/doc/book/pipeline/syntax/#compare,在我們的後面學習中,我都將採用申明式語法,並且官方也是推薦採用申明式語法。

Tags: