用node.js写一个jenkins发版脚本


Posted in Javascript onMay 21, 2019

背景

每次到网页里手动发版有点烦,写个脚本来提高开发效率。

CFG

在 jenkins 设置里获取 API TOKEN。

把 host 和账号密码拼接起来就可以通过鉴权。

const token = {
 user: '',
 password: '',
}

const host = 'jenkins.xxx.cn';
const basicUrl = `http://${token.user}:${token.password}@${host}`;

BUILD

调用 jenkins 提供的 jenkins.job.build() 方法发版。

// crumbIssuer 默认false, true 启用CSRF保护支持
const jenkins = require('jenkins')({ baseUrl, crumbIssuer: true });

const job_name = ''; // 想要发版的job的名字

jenkins.job.build(
 {
  name: job_name,
  parameters: {
   name: 'value', // 填写一些参数信息
  } 
 },
 function(err, data) {
  if (err) throw err;

  console.log('queue item number', data);
});

查看发版状态

执行 build 之后我们想要查看当前 build 的状态,只成功、失败还是进行中。

jenkins.job.get() 获取当前 job 的信息。data.lastBuild.number 可以拿到最后一个 build 的 number,最后一个 build 也就是我们刚刚触发的 build。

jenkins.build.get() 获取当前 build 的信息。data.result 获取当前 build 的结果

jenkins.job.get(job_name, (err, data) => {
 if (err) throw err;

 const lastBuildNumber = data.lastBuild.number;
 console.log('last build number', lastBuildNumber);

 jenkins.build.get(job_name, lastBuildNumber, (err, data) => {
  if (err) throw err;
  console.log('last build result', data.result);
 })
});

资料

jenkins

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js实现的跟随鼠标移动的时钟效果(中英文日期显示)
Jan 17 Javascript
js 中{},[]中括号,大括号使用详解
May 12 Javascript
javascript 实现简单的table排序及table操作练习
Dec 28 Javascript
jQuery滚动加载图片效果的实现
Mar 06 Javascript
jquery多选项卡效果实例代码(附效果图)
Mar 23 Javascript
jQuery获取对象简单实现方法小结
Oct 30 Javascript
jquery实现简单的全选和反选功能
Jan 02 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
Jul 05 Javascript
jQuery操作css样式
May 15 jQuery
实现div滚动条默认最底部以及默认最右边的示例代码
Nov 15 Javascript
详解js类型判断
May 22 Javascript
Vue2.X 通过AJAX动态更新数据
Jul 17 Javascript
vue-router源码之history类的浅析
May 21 #Javascript
vue 地图可视化 maptalks 篇实例代码详解
May 21 #Javascript
vue 中使用 watch 出现了如下的报错的原因分析
May 21 #Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
May 21 #Javascript
vue+element创建动态的form表单及动态生成表格的行和列
May 20 #Javascript
Node 搭建一个静态资源服务器的实现
May 20 #Javascript
vue+element实现打印页面功能
May 20 #Javascript
You might like
php短域名转换为实际域名函数
2011/01/17 PHP
php制作动态随机验证码
2015/02/12 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
一个用javascript写的select支持上下键、首字母筛选以及回车取值的功能
2009/09/09 Javascript
监控 url fragment变化的js代码
2010/04/19 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
JS预览图像将本地图片显示到浏览器上
2013/08/25 Javascript
js图片上传前预览功能(兼容所有浏览器)
2016/08/24 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
纯js实现动态时间显示
2020/09/07 Javascript
js实现简单模态框实例
2018/11/16 Javascript
如何在微信小程序中存setStorage
2019/12/13 Javascript
[01:29:17]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
举例简单讲解Python中的数据存储模块shelve的用法
2016/03/03 Python
对Python中for复合语句的使用示例讲解
2018/11/01 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
python画双y轴图像的示例代码
2019/07/07 Python
Django中Middleware中的函数详解
2019/07/18 Python
PyQt使用QPropertyAnimation开发简单动画
2020/04/02 Python
html5 跨文档消息传输示例探讨
2013/04/01 HTML / CSS
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
英国最大的电子零件及配件零售商:Partmaster
2017/04/24 全球购物
eBay比利时购物网站:eBay.be
2019/08/09 全球购物
美国知名的隐形眼镜电商:Contacts America
2019/11/19 全球购物
异常和异常类的概念
2014/09/12 面试题
opencv实现图像几何变换
2021/03/24 Python
电子商务专业学生的自我鉴定
2013/11/28 职场文书
巡警年度自我鉴定
2014/02/21 职场文书
2015年安全生产目标责任书
2015/01/29 职场文书
家庭聚会祝酒词
2015/08/11 职场文书
幼儿园老师新年寄语
2015/08/17 职场文书
2015年度个人工作总结报告
2015/10/24 职场文书
golang DNS服务器的简单实现操作
2021/04/30 Golang
带你学习MySQL执行计划
2021/05/31 MySQL
JavaScript 与 TypeScript之间的联系
2021/11/27 Javascript
解决Python保存文件名太长OSError: [Errno 36] File name too long
2022/05/11 Python