目錄
從今天開始,我們來整體學習下jenkins相關內容。jenkins是一款用java開發的開源持續集成和持續交付工具,他也是實現Dev OPS的基礎工具。
1.什麼是pipeline
部署流水線(deployment pipeline)是指軟件從原始code到用戶這一過程的自動化表現形式,我們經常簡稱pipeline。jenkins2.x 開始已經支持了pipeline as code的模式,也就是說我們可以像寫代碼一樣,去定義部署流水線的各種工作。
2.在jenkins中使用pipeline
2.1 pipeline支持的語法
既然jenkins2.x已經支持了pipeline as code,那我們首先要簡單瞭解下pipeline支持的語法。jenkins一開始考慮實現jenkins pipeline的時候,就考慮使用簡單易用的groovy腳本語言去實現pipeline。在寫腳本式的pipeline時,很像實在寫groovy代碼。
node {
stage('Build'){
echo 'I am doing the build!'
}
stage('Test'){
echo 'I am doing the Test'
}
stage('Deploy'){
try{
//執行部署任務
echo 'I am try to do the code deployment'
}
catch(error){
//捕捉錯誤並通知用戶
}
}
}
jenkins pipelien 還支持另外一種語法,申明式語法。
pipeline{
agent any
stages{
stage('Build'){
steps{
echo 'hello world!'
}
}
}
}
2.2 創建第一個pipeline
要創建pipeline,首先需要jenkins已經安裝了pipeline插件,筆者安裝的jenkins默認已經安裝了pipeline。
step1: 點擊新建任務
step2: 選擇任務類型並保存
step3:定義pipeline的基本信息
默認情況下,流水線定義的默認值爲pipeline scripts,我們輸入示例。
node {
echo 'Hello World'
}
step4: 運行這個pipeline
點擊確認後,就到了pipeline的主頁面,點擊左側的立即構建,下方的會出現一個狀態燈,並且一閃一閃,點擊狀態等就可以看到執行log。
step5: 查看運行log
2.3 從github拉取pipeline
2.3.1 在github生成token
由於pipeline的內容放在jenkins上既不安全,又做不好版本控制,因此我們可以把pipeline的內容放到github管理。如何生成token,請查看github官方文檔,點擊這裏.
2.3.2 新建jenkins憑據
如果你的pipeline需要通過用戶名密碼、密鑰等方式登陸服務器、Nexus、github、FTP等網絡資源,則需要憑據。jenkins常用的憑據主要包括Username with password、SSH Username with private key、Secret file、Secret text等。憑據的使用教程,請參考官方文檔:link
step1: 新建憑據
step2: 選擇憑據類型
Username with password是最常用的一種方式。如果準備用github token去拉取代碼,用戶名填入自己的github用戶名,密碼填入github上生成的token,保存即可;如果使用ssh用戶名和密碼登陸服務器,我就不廢話了。
step3: 保存後並查看憑據
保存憑據平且重新打開後,就可以看到憑據的全部內容了,當然密碼是加密的。
2.3.3 pipeline調用方式修改
step1: 打開pipeline配置頁面
step2: 填充pipeline調用需要的參數
注意:第4步輸入我們存放jenkins的github項目地址,第5處選擇我們剛纔新建的憑據,第6步填入的腳本文件名,在github項目要存在。
2.3.4 測試pipeline的運行
如果pipeline配置文件中新增了變量,需要運行一次,纔會加載到pipeline中,而且第一次可能會報錯。
點擊1運行後,等跑完後,可以點擊2查看詳細的日誌。