jenkins 自动化构建项目 nodejs后端实现

之前一直想尝试在github上推送代码,jenkins就能自动构建项目。

最近尝试了下,大概步骤总结下,我是在mac电脑上部署的jenkins服务,打开jenkins官网按照它的安装步骤下载jenkins

Sample commands:

  • 安装最新的jenkins版本: brew install jenkins
  • 依据jenkins版本号安装jenkins: brew install jenkins@YOUR_VERSION
  • 启动jenkins服务: brew services start jenkins
  • 重启jenkins服务: brew services restart jenkins
  • 更新jenkins版本: brew upgrade jenkins

安装完jenkins之后可以启动下试试,一路注册,登录就能看到jenkins的主界面了,下面的内容我就不赘述了,感兴趣的伙伴可以看看这个网站讲的很详细我就不照搬了,放下链接:运维派 

这里说下怎么实现上传代码到对应的分支就会触发自动打包的原理:

我jenkins配置的打包分支是dev分支,如果想配置其他的配置请前往jenkins配置:

 

首先配置github的webhook的钩子,这个钩子其实是一个服务,我这里简单的用nodejs搭了一套环境,仅供参考:

const http = require('http');
const createHandler = require('github-webhook-handler');
const handler = createHandler({path: '/webhook',secret: 'af16b4d29e93c6cccd0e6ffbdebc0d0d'});
const childProcess = require('child_process');

handler.on('push',event => {
    console.log('sender: ',event.payload.sender.login,new Date().getMilliseconds());
// 这个token 是根据命令openssl rand -hex 12生成的
    childProcess.exec('curl http://127.0.0.1:8080/job/gameTest/build?token=62db41be2aad7ef262b5a406');

});

http.createServer((req,res) => {
    handler(req,res,(err) => {
        console.log('req is ',req);
        res.statusCode = 404;
        res.end('api 404');
    });
}).listen(3000,() => {
    console.log('running in http://127.0.0.1:3000/');
});

这里 createHandler 的path和secret要与github上配置的保持一致,因为github访问不了我们内网的127.0.0.1,我这里用ngrok内网穿透软件,这样就能在github配置外网的地址穿透到内网了

这样我再github应该配置的是 

 这样只要我push代码到dev分支就会触发构建:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值