用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 30 Javascript
使用Jquery实现点击文字后变成文本框且可修改
Sep 21 Javascript
jquery教程ajax请求json数据示例
Jan 13 Javascript
用javascript关闭本窗口技巧小结
Sep 05 Javascript
JavaScript中的类与实例实现方法
Jan 23 Javascript
vue2.0构建单页应用最佳实战
Apr 01 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
Apr 27 jQuery
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
May 01 jQuery
JS中offset和匀速动画详解
Feb 06 Javascript
小程序云开发获取不到数据库记录的解决方法
May 18 Javascript
深入浅出vue图片路径的实现
Sep 04 Javascript
Vue获取微博授权URL代码实例
Nov 04 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 MemCached 高级缓存应用代码
2010/08/05 PHP
ThinkPHP实现批量删除数据的代码实例
2014/07/02 PHP
php提取字符串中网站url地址的方法
2014/12/03 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
2020/08/17 PHP
Ext grid 添加右击菜单
2009/11/26 Javascript
基于jquery的横向滚动条(滑动条)
2011/02/24 Javascript
jquery实现当滑动到一定位置时固定效果
2014/06/17 Javascript
JavaScript实现找出数组中最长的连续数字序列
2014/09/03 Javascript
使用js画图之正弦曲线
2015/01/12 Javascript
javascript中sort()的用法实例分析
2015/01/30 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
JS禁止查看网页源代码的实现方法
2016/10/12 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
基于JS实现的随机数字抽签实例
2016/12/08 Javascript
详谈javascript精度问题与调整
2017/07/08 Javascript
JavaScript实现图片本地预览功能【不用上传至服务器】
2017/09/20 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
2017/09/20 Javascript
async/await地狱该如何避免详解
2018/05/10 Javascript
Vue.js 中的 v-show 指令及用法详解
2018/11/19 Javascript
json字符串对象转换代码实例
2019/09/28 Javascript
js回到页面指定位置的三种方式
2020/12/17 Javascript
用Python程序抓取网页的HTML信息的一个小实例
2015/05/02 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
2019/05/13 Python
python基于三阶贝塞尔曲线的数据平滑算法
2019/12/27 Python
SpringBoot实现登录注册常见问题解决方案
2020/03/04 Python
python实现FTP文件传输的方法(服务器端和客户端)
2020/03/20 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
python实现网页录音效果
2020/10/26 Python
Banana Republic英国官网:香蕉共和国,GAP集团旗下偏贵族风
2018/04/24 全球购物
土耳其新趋势女装购物网站:Addax
2020/01/07 全球购物
进修护士自我鉴定
2013/10/14 职场文书
质检部岗位职责
2013/11/11 职场文书
大学生社会实践方案
2014/05/11 职场文书
捐款通知怎么写
2015/04/24 职场文书
解决springboot druid数据库连接失败后一直重连的方法
2022/04/19 Java/Android
Windows server 2003卸载和安装IIS的图文教程
2022/07/15 Servers