昨天我們已經成功安裝一個新的Jenkins。今天,我們就學習一下如何使用Jenkins,去設計及運行我們想要的整合內容。
首先登錄到Jenkins中,由於我們的Jenkins是全新的環境,所以應該會看到像下圖中的畫面。
先按下Create a job
。
然後在輸入欄位中輸入你的專案名稱,今次我輸入了ITHome Ironman 2022
。然後按下"OK"
然後專按已經建立成功!接著會畫面會進入到設定的部份。
在Jenkins中,主要有兩種方式去定義Pipeline中的工作流程。第一種方法,是直接在專案中寫入Pipeline script。
Jenkins中有一些範例的Pipeline內容,例如一個簡單的Hello World Pipeline。
pipeline {
agent any
stages {
stage('Hello') {
steps {
echo 'Hello World'
}
}
}
}
內容解釋
pipeline{…}
– 整個Pipeline的block
,簡單來說就是把所有關於Pipeline的資訊都丟在裡面就是了agent any
– 使用哪一個agent
去進行建置,因為不同的agent
可能有不同的功能,因此有時候需要定義好使哪一組agent
去建置專案。此處因為我們定義了隨意使用可用的agent
stages{…}
– Pipeline中所有相關的步驟都丟在裡面stage('Hello') {…}
– Pipeline中的其中一個步驟,可以為此步驟加上一個名稱。範例中就是Hello
echo 'Hello World'
– 這個步驟中要執行的動作。範例中就是在Console輸出Hello World
如下圖中,把範例輸入到專案中。然後儲存設定。
然後回到專案主畫面中,按下Build now
的按鈕。專案應該會馬上啟動Pipeline的建置。
接著應該會看到Pipeline成功運作!
為了方便使整個Jenkins的Pipeline Script可以更好地管理,我們可以使用第二種方式去定義Pipeline的內容,亦即是以Jenkinsfile
的方式去管理,然後commit
到版本管埋系統中。
首先,在Jenkins專案的設定中,先在Pipeline部份的Definition選擇Pipeline script from SCM
,然後在SCM的下拉選單中選Git
,再輸入你的Git專案URL。
此時,系統應該會如上圖般提示没有權限取得相關的專案內容。此時需要為Jenkins加入一個Credentials以通過Git專案服務的認證。
此處我們用最簡單的用戶名稱及密碼作為Credentials,輸入以後相關的權限提示應該就會消失。
接著我們繼續設定我們的Pipeline。
Branches to build
代表使用哪一條分支去進行操作。我們先使用master branch
進行後續步驟,所以不用進行修改。
然後Script Path
指的是Jenkinsfile
的路徑,一般都不用修改,除非你想使用其他Jenkinsfile
的路徑。然後儲存設定。
然後我們在Git專案中加入一個新的Jenkinsfile
,內容跟前一個方式相同。接著把它commit到專案及上傳到remote的Git專案中。
然後回到Jenkins中,按下Build Now
。
此時可以發現,成功運行了一次Pipeline的建置流程。
如果查看Pipeline的Console輸出,可以發現Jenkins先從Git服務器中取得源碼,然後找到Jenkinsfile
再依其中的內容進行了建置。
以上就是本日的內容,今天主要是講一下Jenkins Pipeline的建置的基本流程。依據不同的需求,Pipeline中可能需要有多個不同的Stage去進行不同的步驟。日後我們會慢慢介紹更多不同的工具,然後會再對此Pipeline進行修改,使得相關的工具能自動化運作起來。
Day 6了,終於完成了1/5的鐵人賽路程了。如果各位對後續內容有興趣,歡迎留言或是訂閱支持一下哦!