怎么让Jenkins执行GitHub上的pipeline脚本
更新:HHH   时间:2023-1-7


这篇文章主要讲解了“怎么让Jenkins执行GitHub上的pipeline脚本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么让Jenkins执行GitHub上的pipeline脚本”吧!

环境信息

为了快速搭建Jenkins环境,我这里用到了Docker,部署Jenkins的详情请参考《Jenkins流水线(pipeline)实战之:从部署到体验》,今天的实战需是在以下环境进行的:

  1. 操作系统:Ubuntu 18.04.2 LT

  2. Docker:19.03.1

  3. Jenkins: 2.176.3(运行与Docker环境)

上传pipeline脚本文件到GitHub

本次实战用的是我自己的GitHub账号,代码仓库是:https://github.com/zq2599/blog_demos

  1. 写一个测试用的pipeline脚本文件<font color="blue"></font>,上传到GitHub上,如下图,文件地址是:https://github.com/zq2599/blog_demos/blob/master/blueocean/helloworld/Jenkinsfile

  2. Jenkinsfile文件在代码仓库的相对路径是<font color="blue">blueocean/helloworld</font>,如下图:

GitHub开放授权

为了让Jenkins顺利地从GitHub下载到pipelien脚本,需要在GitHub上开放授权,具体的方式:

  1. 登录GitHub后,在右上角的账号菜单中点击<font color="blue">Settings</font>,如下图:

  2. 点击下图红框中的"Developer settings"按钮:

  3. 点击下图红框中的"Personal access tokens"按钮:

  4. 接下来就是创建授权token的页面,这里要选好开放授权的功能,如下图,两个红框中的功能Jenkins会用到的,必须勾选:

  5. 设定完毕后,点击底部绿色的<font color="blue">Generate token</font>按钮,就会生成一个字符串,这就是授权token,复制下来,稍后会用到; 至此,GitHub上的设置就完成了,接下来在Jenkins上设置流水线任务;

Jenkins设置流水线任务

现在我们在Jenkins上创建一个流水线任务,该任务从GitHub下载刚才上传的pipeline脚本;

  1. 在Jenkins的左侧菜单上点击<font color="blue">打开 Blue Ocean</font>,进入Blue Ocean页面,Blue Ocean页面比起原生的Jenkins设置页面更加适合流水线人的管理和配置:

  2. 点击下图红框中的<font color="blue">创建流水线</font>按钮:

  3. 进入的页面如下图所示,这就是设置流水线的页面,按照序号依次设置,即可完成流水线的新建:

  4. 由于Jenkinsfile文件不在GitHub仓库的第一级目录下,因此没有被Jenkins扫描到,所以我们要手动指定Jenkinsfile文件的位置,点击下图中的红框按钮,回到任务列表:

  5. 在任务列表点击刚才新建的任务,如下图红框所示:

  6. 点击下图红框中的图标,即可跳转到该任务的Jenkins设置页面:

  7. 如下图,找到<font color="blue">Build Configuration</font>设置项,在下图红框位置输入<font color="blue">blueocean/helloworld/Jenkinsfile</font>,这是刚才上传的文件在仓库中的相对位置:

  8. 点击底部的保存按钮,保存配置:

  9. 此时Jenkins会自动开始一个扫描GitHub仓库的任务,如果配置无误,该任务会执行成功:

  10. 配置完毕,再次回到Blue Ocean页面,点开该任务,按照下图红框进行操作,即可运行该任务:

  11. 任务启动后,点击下图红框中的<font color="blue">活动</font>按钮,即可查看任务的执行情况:

  12. 点击上图中任何一条执行记录,可以查看详情,如下图,第三次执行情况显示成功从GitHub获取pipeline脚本,并且执行成功:

修改pipeline源码再次执行

接下来验证pipeline脚本修改后能否立即生效:

  1. 修改Jenkinsfile文件的内容并且提交到GitHub,如下图红框所示,控制台打印的内容被修改了:

  2. 再次在Blue Ocean页面启动任务,可见更新Jenkinsfile和执行任务都成功了:

感谢各位的阅读,以上就是“怎么让Jenkins执行GitHub上的pipeline脚本”的内容了,经过本文的学习后,相信大家对怎么让Jenkins执行GitHub上的pipeline脚本这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是天达云,小编将为大家推送更多相关知识点的文章,欢迎关注!

返回云计算教程...