博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
coding利用Webhook实现Push代码后的jenkins自动构建
阅读量:6987 次
发布时间:2019-06-27

本文共 1248 字,大约阅读时间需要 4 分钟。

安装jenkins 篇:http://www.cnblogs.com/loveyouyou616/p/8714544.html

    之前部署了持续集成工具jenkins。通常是开发后的代码先推到 远程代码仓库(这里以coding为例),然后通过jenkins定时脚本或者操作构建代码发布。利用定时轮训的方案显然很傻,而人工去执行jenkins构建动作,过于繁琐。于是就想到了用webhook功能。

jenkins 需要的插件

在插件过滤栏里面输入coding以及over,出现如下插件,进行安装即可。

jenkins 操作

系统管理 -》系统设置 找到Publish over SSH项

在使用Publish Over SSH之前,需要制作SSH私钥。机器间做免密登录配置。假设机器A,ip为192.168.AA.AAA,机器B: 192.168.BB.BBB,机器A能够免密登录机器B,机器B能够免密登录机器A,制作方式是: 进入A机器,执行:
cd ~ssh-keygen -t rsa
在机器B写入机器A刚生成的公钥
cd ~ && ll -a vim authorized_keys

 验证方式: 在A机器上ssh root@192.168.BB.BBB , 此时无需密码登录成功即可。

    然后填写如下信息

   

参数说明:

Passphrase:密码(key的密码,如果你设置了)Path to key:key文件(私钥)的路径Key:将私钥复制到这个框中Disable exec:禁止运行命令私有配置:SSH Server Name:标识的名字(随便你取什么)Hostname:需要连接ssh的主机名或ip地址(建议ip)Username:用户名Remote Directory:远程目录Use password authentication, or use a different key:可以替换公共配置(选中展开的就是公共配置的东西,这样做扩展性很好)私有配置的高级:Port:端口(默认22)Timeout (ms):超时时间(毫秒)默认即可Disable exec:禁止运行命令Test Configuration:测试连接

 

新建任务 -》 选择 构建一个自由风格的软件项目 

菜单栏中  -》 源码管理

这里选择git ,然后输入项目仓库的地址

这里需要说明下,因为我这里配置的是私有仓库,所以需要填写验证信息。这里利用的ssh协议,输入B服务器的账号和私钥即可。

接下来设置构建触发器 (这里的webhook地址需要填写到coding.net 设置 webhook 的url栏 需要公网地址,当然因为我这是本地所以利用穿透工具实现的

将 http://zecsbd.natappfree.cc -> 127.0.0.1:8080 )

最后选择菜单栏的构建 -> add server

这里exec command报错无关紧要

最后保存应用,当你git地址有新的代码提交,会自动构建执行。

你可能感兴趣的文章
哦 原来那不是真爱
查看>>
智能硬件叫好不叫座的三大症结
查看>>
你应该知道的CSS2.0中最常用的18条技巧
查看>>
Cakephp中使用JavaScriptHelper来引入js文件
查看>>
OkHttp–支持SPDY协议的高效HTTP库
查看>>
FPGA的“可编程”使你迷惑吗?
查看>>
Java网络编程注意事项1
查看>>
Python pip命令
查看>>
利用Spire for .NET实现办公自动化——Spire.Doc
查看>>
javascript运算符的优先级
查看>>
spring扩展点之一:BeanFactoryPostProcessor和BeanPostProcessor
查看>>
客户端与服务端Post报文构造请求及Http Post与Get请求方法
查看>>
【Xamarin挖墙脚系列:关闭 OS X El Capitan 中 SIP 安全设置功能】
查看>>
Android Studio中使用Gradle打包
查看>>
[bug]The file ‘/xxx/xxx.aspx’ has not been pre-compiled, and cannot be requested
查看>>
Leetcode 234 Palindrome Linked List 复杂度为时间O(n) 和空间(1)解法
查看>>
Linux Suspend过程【转】
查看>>
git的使用(3) 多分支情况下的pull
查看>>
【转载】C/C++杂记:运行时类型识别(RTTI)与动态类型转换原理
查看>>
Session、Cookie及cache的区别
查看>>