Jenkins 流水線 (pipeline) 是一套插件,讓Jenkins能夠實現持續交付管道的落地和實施。java
Blue Ocean是pipeline的可視化UI,本文中的demo暫時用不上blueocean,後續的文章中會用到;git
本文是《Jenkins流水線(pipeline)實戰》系列的第一篇,本次實戰的內容是部署好帶有pipeline插件的Jenkins環境,而後建立流水線任務並執行,全文由如下幾部分組成:程序員
爲了快速完成Jenkins部署,本次實戰用到了Docker,請在實戰前準備好如下環境:github
本次使用的Jenkins版本是<font color="blue">2.176.3</font>。docker
docker run \ -u root \ -idt \ --name blueocean \ -p 8080:8080 \ -p 50000:50000 \ -v jenkins-data:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ jenkinsci/blueocean:1.19.0
上述命令參數中有幾處須要注意: a. 鏡像是<font color="blue">jenkinsci/blueocean:1.19.0</font>:這是Jenkins官方的開源鏡像(https://github.com/jenkinsci/blueocean-plugin ),裏面已經集成了pipeline和blueocean,十分方便; b. <font color="blue">-v jenkins-data:/var/jenkins_home</font>:Jenkins容器在工做的時候,若是要執行Docker的命令(例如 docker ps、docker run等),須要有個途徑能鏈接到宿主機的docker服務,此參數就是用來創建容器和宿主機docker服務的鏈接的,若是您想了解這方面的詳情,請參考《docker的/var/run/docker.sock參數》; c. <font color="blue">-v /var/run/docker.sock:/var/run/docker.sock</font>:將該容器的數據保留在宿主機的目錄,這樣即便容器崩潰了,裏面的配置和任務都不會丟失;<br> 3. 執行命令 <font color="blue">docker exec blueocean cat /var/jenkins_home/secrets/initialAdminPassword</font>,用於獲取Jenkins容器的登陸token,以下所示,控制檯輸出登陸token爲 <font color="blue">a60f9aa5ebd4400e92886ca49d574198</font>:shell
root@hedy:~# docker exec blueocean cat /var/jenkins_home/secrets/initialAdminPassword a60f9aa5ebd4400e92886ca49d574198
<br> 4. 用瀏覽器訪問:http://192.168.50.75:8080 ,<font color="blue">192.168.50.75</font>是宿主機IP地址,頁面以下所示,在紅框中填入剛纔獲得的登陸token <font color="blue">a60f9aa5ebd4400e92886ca49d574198</font>,再點擊右下角的"繼續"按鈕:瀏覽器
6. 接下來的頁面是讓用戶選擇安裝哪些插件,以下圖,點擊紅框內部,安裝官方推薦插件:
7. Jenkins開始自動安裝插件,以下圖,須要您稍做等待:
8. 插件安裝完成後,會要求設置帳號和密碼,設置完畢後點擊右下角的「保存並完成」按鈕:
9. 點擊右下角的"保存並完成":
10. 至此Jenkins環境已經部署完成,查看已安裝的插件列表,發現pipeline和blueocean都已裝好:
操作系統
環境準備完畢,咱們來建立一個pipeline並運行試試:.net
pipeline { agent any stages { stage('Stage 1') { steps { echo 'Hello world!' } } } }