写点什么

Jenkins 流水线 (pipeline) 实战之:从部署到体验

作者:程序员欣宸
  • 2022-10-18
    广东
  • 本文字数:1644 字

    阅读完需:约 1 分钟

Jenkins流水线(pipeline)实战之:从部署到体验

欢迎访问我的 GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos

关于 Jenkins 流水线(pipeline)

  • Jenkins 流水线 (pipeline) 是一套插件,让 Jenkins 可以实现持续交付管道的落地和实施。

关于 blueocean

  • Blue Ocean 是 pipeline 的可视化 UI,本文中的 demo 暂时用不上 blueocean,后续的文章中会用到;

系列文章地址

  1. 《Jenkins流水线(pipeline)实战之:从部署到体验》

  2. 《让Jenkins执行GitHub上的pipeline脚本》

  3. 《Jenkins把GitHub项目做成Docker镜像》

本篇实战概览

  • 本文是《Jenkins 流水线(pipeline)实战》系列的第一篇,本次实战的内容是部署好带有 pipeline 插件的 Jenkins 环境,然后创建流水线任务并执行,全文由以下几部分组成:


  1. 部署 Jenkins;

  2. 体验 pipeline;

环境信息

  • 为了快速完成 Jenkins 部署,本次实战用到了 Docker,请在实战前准备好以下环境:


  1. 操作系统:Ubuntu 18.04.2 LT

  2. Docker:19.03.1


  • 本次使用的 Jenkins 版本是 2.176.3

部署 Jenkins

  • 以 root 的身份登录 Linux,新建一个文件夹,例如我这里是 /root/blueocean ,进入此文件夹;

  • 执行以下命令,即可创建好 Jenkins 环境:


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 :将该容器的数据保留在宿主机的目录,这样即使容器崩溃了,里面的配置和任务都不会丢失;c. -v /var/run/docker.sock:/var/run/docker.sock :Jenkins 容器在工作的时候,如果要执行 Docker 的命令(例如 docker ps、docker run 等),需要有个途径能连接到宿主机的 docker 服务,此参数就是用来建立容器和宿主机 docker 服务的连接的,如果您想了解这方面的详情,请参考《docker的/var/run/docker.sock参数》

  • 执行命令 docker exec blueocean cat /var/jenkins_home/secrets/initialAdminPassword ,用于获取 Jenkins 容器的登录 token,如下所示,控制台输出登录 token 为 a60f9aa5ebd4400e92886ca49d574198


root@hedy:~# docker exec blueocean cat /var/jenkins_home/secrets/initialAdminPassworda60f9aa5ebd4400e92886ca49d574198
复制代码


  • 用浏览器访问:http://192.168.50.75:8080192.168.50.75 是宿主机 IP 地址,页面如下所示,在红框中填入刚才得到的登录 token a60f9aa5ebd4400e92886ca49d574198 ,再点击右下角的"继续"按钮:



  • 接下来的页面是让用户选择安装哪些插件,如下图,点击红框内部,安装官方推荐插件:

  • Jenkins 开始自动安装插件,如下图,需要您稍作等待:

  • 插件安装完成后,会要求设置账号和密码,设置完毕后点击右下角的“保存并完成”按钮:

  • 点击右下角的"保存并完成":

  • 至此 Jenkins 环境已经部署完成,查看已安装的插件列表,发现 pipeline 和 blueocean 都已装好:

体验 pipeline

  • 环境准备完毕,我们来创建一个 pipeline 并运行试试:

  • 如下图,点击红框中的"新建 Item":

  • 在页面表单上填写任务名称,再选择"流水线",如下图:

  • 接下来会弹出详细设置的表单,如下图,选择"流水线"的 Tab 页,在页面上直接输入一段 pipeline 内容,再点击左下角的"保存"按钮:

  • 上图红框 3 的源码如下:


pipeline {    agent any     stages {        stage('Stage 1') {            steps {                echo 'Hello world!'             }        }    }}
复制代码


  • 点击下图红框中的"立即构建",即可执行刚才输入的 pipeline 脚本:

  • 任务执行完毕后如下图所示,点击红框中的图标,即可查看本次任务执行过程中的控制台输出:

  • 如下图,控制台打印了 pipeline 的信息:

  • 至此,Jenkins 环境已经准备完毕,接下来的实战将一起体验流水线的更多功能。

欢迎关注 InfoQ:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...


发布于: 刚刚阅读数: 4
用户头像

搜索"程序员欣宸",一起畅游Java宇宙 2018-04-19 加入

前腾讯、前阿里员工,从事Java后台工作,对Docker和Kubernetes充满热爱,所有文章均为作者原创,个人Github:https://github.com/zq2599/blog_demos

评论

发布
暂无评论
Jenkins流水线(pipeline)实战之:从部署到体验_Java_程序员欣宸_InfoQ写作社区