已經有專責的裝置在處理 CI/CD 為什麼要自己建一套呢?首先這個專責的裝置已經是專職在處理開發團隊的 CI/CD 流程了,如果在優化的過程中,影響到該裝置的運作,而造成他人開發流程上的不便則得不償失啊。再加上若要整備案,其實也可以在自己或是某一台裝置執行動作。
建立自己的環境
有兩種方式,第一個是複製當前 Jenkins 裝置的檔案,直接在自己的本機去做套用。另一種就按照官方文件進行安裝,無論哪一種都有各有各的好處跟益處。自己安裝,會學習到知識會比較多,但也會比較辛苦,畢竟要一直檢查自己的裝置設置是不是跟開發團隊使用的一致。
Job 種類選擇
建立 Jenkins Job 有很多種類型可供選擇,有些在驗證的時候可以依循現有的機制,但如果要優化跟測試,該怎麼進行呢?有些時候想要快速執行了解 JenkinsFile 的每一個 process 是否如預期顯示,又或者某個指令跟環境變數就如同自己設置的相同。
使用 Pipeline 或是 FreeStyle 就可以先不倚靠 JenkinsFile 中的內容,先在 Jenkins 提供的介面模擬出流程順序,隨時可以進行驗證動作,不需要在本地端把異動推回遠端之後,再手動執行。
待確認完成後,再將嚐試過寫好調整的內容放回專案中,最後在 Jenkins 裝置進行驗證。
環境變數設定
除了 Jenkins 使用的 Job 們之外,還有一些是全域,或是單一 Job 可以指定的參數。無論是要修改或是要新增,在自己本機上處理總是方便一些。舉例來說,我曾經想要把一個環境變數從 Jenkins 全域參數移除,改用腳本指接指定路徑執行。也是在本機執行無誤之後,然後才在 Jenkins 機器上去做設置,然後再提交 PR,請團隊成員做檢視,並且跟著做調整。