用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 相关文章推荐
浅谈jquery事件处理
Apr 24 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
Sep 01 Javascript
JSONP跨域请求实例详解
Jul 04 Javascript
jQuery中的insertBefore(),insertAfter(),after(),before()区别介绍
Sep 01 Javascript
详解JS数据类型的值拷贝函数(深拷贝)
Jul 13 Javascript
Vue.js框架路由使用方法实例详解
Aug 25 Javascript
javascript中toFixed()四舍五入使用方法详解
Sep 28 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
May 14 jQuery
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
Jun 02 Javascript
vue webpack build资源相对路径的问题及解决方法
Jun 04 Javascript
JS数组转字符串实现方法解析
Sep 04 Javascript
JS sort排序详细使用方法示例解析
Sep 27 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
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
Alliance vs AM BO3 第一场2.13
2021/03/10 DOTA
DIV外区域Click后关闭DIV的实现代码
2011/12/21 Javascript
js 判断checkbox是否选中的操作方法
2012/11/09 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
JavaScript设计模式之外观模式介绍
2014/12/28 Javascript
jQuery中DOM树操作之复制元素的方法
2015/01/23 Javascript
ES6记录异步函数的执行时间详解
2016/08/31 Javascript
Angular表单验证实例详解
2016/10/20 Javascript
jQuery Mobile漏洞会有跨站脚本攻击风险
2017/02/12 Javascript
jQuery.Sumoselect插件实现下拉复选框效果
2017/11/09 jQuery
微信小程序提取公用函数到util.js及使用方法示例
2019/01/10 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
2019/05/24 Javascript
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
2020/07/21 Javascript
深入理解Python中的元类(metaclass)
2015/02/14 Python
用Python实现一个简单的能够发送带附件的邮件程序的教程
2015/04/08 Python
基于python爬虫数据处理(详解)
2017/06/10 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
python 利用pandas将arff文件转csv文件的方法
2019/02/12 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
澳大利亚在线高跟鞋商店:Shoe Me
2019/11/19 全球购物
美国购物网站:Clickhere2shop
2021/01/28 全球购物
自动化系在校本科生求职信
2013/10/23 职场文书
机械制造与自动化应届生求职信
2013/11/16 职场文书
后勤主管岗位职责
2014/03/01 职场文书
西式结婚主持词
2014/03/14 职场文书
学生请假条格式
2014/04/11 职场文书
项目经理任命书
2014/06/04 职场文书
单位委托书格式范本
2014/09/29 职场文书
2014年妇委会工作总结
2014/12/10 职场文书
婚礼家长致辞
2015/07/27 职场文书
Go语言使用select{}阻塞main函数介绍
2021/04/25 Golang
Python selenium的这三种等待方式一定要会!
2021/06/10 Python
5道关于python基础 while循环练习题
2021/11/27 Python