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!' } } } }