版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:[https://blog.csdn.net/boling\_cavalry/article/details/100848333](https://blog.csdn.net/boling_cavalry/article/details/100848333)
Jenkins 流水线 (pipeline) 是一套插件,让Jenkins可以实现持续交付管道的落地和实施。
Blue Ocean是pipeline的可视化UI,本文中的demo暂时用不上blueocean,后续的文章中会用到;
本文是《Jenkins流水线(pipeline)实战》系列的第一篇,本次实战的内容是部署好带有pipeline插件的Jenkins环境,然后创建流水线任务并执行,全文由以下几部分组成:
为了快速完成Jenkins部署,本次实战用到了Docker,请在实战前准备好以下环境:
本次使用的Jenkins版本是2.176.3。
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. 镜像是jenkinsci/blueocean:1.19.0:这是Jenkins官方的开源镜像(https://github.com/jenkinsci/blueocean-plugin ),里面已经集成了pipeline和blueocean,十分方便;
b. -v jenkins-data:/var/jenkins_home:Jenkins容器在工作的时候,如果要执行Docker的命令(例如 docker ps、docker run等),需要有个途径能连接到宿主机的docker服务,此参数就是用来建立容器和宿主机docker服务的连接的,如果您想了解这方面的详情,请参考《docker的/var/run/docker.sock参数》;
c. -v /var/run/docker.sock:/var/run/docker.sock:将该容器的数据保留在宿主机的目录,这样即使容器崩溃了,里面的配置和任务都不会丢失;
root@hedy:~# docker exec blueocean cat /var/jenkins_home/secrets/initialAdminPassword
a60f9aa5ebd4400e92886ca49d574198
环境准备完毕,我们来创建一个pipeline并运行试试:
上图红框3的源码如下:
pipeline {
agent any
stages {
stage('Stage 1') {
steps {
echo 'Hello world!'
}
}
}
}
至此,Jenkins环境已经准备完毕,接下来的实战将一起体验流水线的更多功能。