Azure|Azure DevOps (三) 实现和Jenkins的联动
上一篇文章中,我们通过azure 的webhook实现了和钉钉机器人的联动,实现了通过钉钉机器人告知大家刚才谁动了仓库。
在文章开篇的时候我们举例说了jenkins也可以实现和azure联动,今天我们来实现一下。
首先,我们得先把jenkins装好,并且把它部署在一个公网可以访问的主机上。
jenkins的使用步骤我们这里不在赘述。仅贴出docker的安装命令。
docker run \ -u root \ --rm \ -d \ -p 8080:8080 \ -p 50000:50000 \ -v jenkins-data:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ jenkinsci/blueocean
装好之后我们需要在在Jenkins中添加一条流水线,我们新建一条流水线,然后把上一篇文章中我们创建好的仓库添加到流水线中,仓库中的代码就是我们第二篇编写的和钉钉联动的源代码。
首先我们需要自己先跑一下验证一下流水线编译是没有问题的。
【Azure|Azure DevOps (三) 实现和Jenkins的联动】

文章图片
验证完我们的流水线是可以正常运行的之后,我们开始在azure进行jenkins的配置。
在webhook界面,选择jenkins,选择好要触发的操作和仓库,我这里选择的是code pushed就触发hook,然后我们选择Trigger generic build。
在表单中填入jenkins的公网服务地址/用户名/密码,这时候azure会连通jenkins获取到我们的流水线,选择你要触发的流水线,点击test测试一下是否可以连通。

文章图片
这里有一个坑,如果你的jenkins是2.2以上的高版本,会收到jenkins的403错误,出现这个问题的原因是jenkins拒绝了跨站的访问,我们需要修改jenkins的启动文件
关闭跨站保护。

文章图片
关闭跨站保护的方法如下,我们进入到容器内修改jenkins的启动脚本
docker exec -it jenkins /bin/sh vi /usr/local/bin/jenkins.sh
然后我们需要在启动参数里加上:-Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true
效果如下:

文章图片
设置完之后我们重启一下容器,重新使用azure测试一下,会发现已经可以打通了

文章图片
我们尝试提交一下代码,看一下azure的效果和jenkins的效果

文章图片

文章图片
我们可以看到jenkins成功收到了azure的通知,并且开始了流水线的构建。

文章图片
好了,azure打通jenkins的例子到这里就结束了,当然这只是一个简单的demo,Jenkins的花样肯定还有很多,需要大家去自己挖掘,下一篇文章我们将继续发掘azure devops的更多功能。
推荐阅读
- 学习笔记|TCP原理和三次握手和四次挥手过程
- JavaWeb|TCP原理(三次握手四次挥手)
- 技术管理进阶——第三个五年,独立思考与落地实操
- Azure|Azure(什么是回归)
- golang 获取三种不同的路径方法(执行路径,项目路径,文件路径)
- 学习经历|cgb2107-第三阶段-day03-Mybatis入门
- 《手把手教你》系列基础篇(七十三)-java+|《手把手教你》系列基础篇(七十三)-java+ selenium自动化测试-框架设计基础-TestNG实现启动不同浏览器(详解教
- 每日三面|每日三道前端面试题--vue 第二弹
- Python3自学之路作业一__编写三级菜单
- 使用Feign调用第三方http接口