Jenkins - Pipeline as Code | Jenkins SCM git
Jenkins-PipelineasCode-簡介[1]說明完簡單範例,接著來實際建立專案執行看看以使用Docker安裝JenkinsAgent[2]為執行環境在左邊功能列點擊新增作業,然後名稱輸入jenkins-pipeline,下方選擇Pipeline後按下OK然後在Pipeline的Definition選擇PipelinescriptfromSCM,接荖輸入Jenkinsfile所在的Git網址,單純想測試的話可以用已經建立好的這個路徑https://github.com/allyusd/jenkins-pipeline.git,下方的branch選擇sample,最後按下儲存。在左方功能列選擇馬上建置,等他執行一會兒,會看到專案主頁會出現StageView從畫面可以看出來我...
Jenkins - Pipeline as Code - 簡介[1]說明完簡單範例,接著來實際建立專案執行看看
以使用 Docker 安裝 Jenkins Agent[2]為執行環境
在左邊功能列點擊新增作業,然後名稱輸入 jenkins-pipeline,下方選擇 Pipeline 後按下 OK
然後在 Pipeline 的 Definition 選擇 Pipeline script from SCM,接荖輸入 Jenkinsfile 所在的 Git 網址,單純想測試的話可以用已經建立好的這個路徑 https://github.com/allyusd/jenkins-pipeline.git,下方的 branch 選擇 sample,最後按下儲存。
在左方功能列選擇馬上建置,等他執行一會兒,會看到專案主頁會出現 Stage View
從畫面可以看出來我們在 Jenkinsfile 定義的 Pipeline 流程,除了一開始要 Checkout SCM 才能讀取 Jenkinsfile 這一步驟外,就是 Build、Test、Deploy 三個階段。
接下來我們故意讓 Pipeline 失敗看看結果是什麼。在 Test 這一個階段故意以非 0 結束 shell,讓 Jenkins 判定此階段執行失敗
stage(Test) { steps { echo Testing.. sh exit 1 } }如果要使用建立好的檔案,請把 branch 改為 sample-fail,按下建置後,同樣等結果執行完成。
從執行的結果可以看到,Test、Deploy 是 failed 的狀態,基於 Pipeline 的概念,實際上 Deploy 是因為前一個 Test 階段失敗,所以跳過沒有執行。
在真實場景中,Test 階段失敗是 Unit Test fail 的關係,要去檢查程式碼的邏輯是否正確,或是 Unit Te...