上一篇文章中,我们通过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进行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的更多功能。

最新文章

  1. git merge 合并分支
  2. c3p0配置 initialPoolSize 和minPoolSize 可以设为0吗?设0有坏处吗?
  3. Linux14.04安装JDK
  4. iOS学习之事件处理
  5. strut2的原理
  6. git workflows
  7. Mashmokh and Tokens
  8. 【贪心】Codeforces 704B & 705D Ant Man
  9. eclipse中的web-inf下没有web.xml
  10. C# 中奇妙的函数–7. String Split 和 Join
  11. 同一个ASP.NET页面放置多个UpdatePanel分别刷新的解决办法。.
  12. apue- chapter 1 UNIX基础知识
  13. 关于json-lib中日期类型转换的分析与问题解决
  14. 小白的Python之路 day2 字符串操作 , 字典操作
  15. scrapy的学习总结(1)
  16. Python中模块之hashlib&hmac的讲解
  17. php 关于经纬度距离计算方法
  18. VS 中NuGet 尝试还原程序包时出错"*"已拥有为"**"定义的依赖项
  19. vue通俗易懂的子组件向父组件传值
  20. php合并数组并保留键值的方法

热门文章

  1. ApacheCN 人工智能知识树 v1.0
  2. JAVA多线程学习十二 - Semaphere同步工具
  3. Windows安装RabbitMQ过程及相关问题
  4. SpringBoot源码解读系列三——引导注解
  5. Java经典案例之用三种方法求1~100以内素数之和
  6. SQL 在数据库中查找拥有此列名的所有表
  7. 我的新书——《PHP程序员面试笔试宝典》
  8. Solution -「ZJOI2012」「洛谷 P2597」灾难
  9. 硬件安全学习–RFID / Hardware security learning – RFID
  10. 利用 pip download 打包软件来提供离线安装