用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 相关文章推荐
msn上的tab功能Firefox对childNodes处理的一个BUG
Jan 21 Javascript
javascript 树控件 比较好用
Jun 11 Javascript
基于OO的动画附加插件,可以实现弹跳、渐隐等动画效果 分享
Jun 24 Javascript
JavaScript中的函数(二)
Dec 23 Javascript
Javascript技术栈中的四种依赖注入小结
Feb 27 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
Mar 05 Javascript
AngularJS实现网站换肤实例
Feb 19 Javascript
vue实现个人信息查看和密码修改功能
May 06 Javascript
JavaScript原型对象原理与应用分析
Dec 27 Javascript
vue-cli3 从搭建到优化的详细步骤
Jan 20 Javascript
Vue 解决多级动态面包屑导航的问题
Nov 04 Javascript
基于Element封装一个表格组件tableList的使用方法
Jun 29 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 文件上传全攻略
2010/04/28 PHP
php中获取指定IP的物理地址的代码(正则表达式)
2011/06/23 PHP
提高PHP性能的编码技巧以及性能优化详细解析
2013/08/24 PHP
php.ini save_handler 修改不生效的解决办法
2014/07/22 PHP
ThinkPHP中I(),U(),$this->post()等函数用法
2014/11/22 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
PHP实现字母数字混合验证码功能
2019/07/11 PHP
利用jquery包将字符串生成二维码图片
2013/09/12 Javascript
angularjs的一些优化小技巧
2014/12/06 Javascript
javascript结合CSS实现苹果开关按钮特效
2015/04/07 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
2016/05/09 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
2016/05/10 Javascript
jQuery实现的自定义滚动条实例详解
2016/09/20 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
layui table 参数设置方法
2018/08/14 Javascript
为vue项目自动设置请求状态的配置方法
2019/06/09 Javascript
vue实现购物车结算功能
2020/06/18 Javascript
vue中watch和computed的区别与使用方法
2020/08/23 Javascript
[57:18]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#3VP VS VG
2016/03/03 DOTA
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[01:16:16]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第二场 1月8日
2021/03/11 DOTA
Python实现telnet服务器的方法
2015/07/10 Python
Python中内置数据类型list,tuple,dict,set的区别和用法
2015/12/14 Python
python入门教程之识别验证码
2017/03/04 Python
pyecharts动态轨迹图的实现示例
2020/04/17 Python
python 等差数列末项计算方式
2020/05/03 Python
带你学习Python如何实现回归树模型
2020/07/16 Python
python 带时区的日期格式化操作
2020/10/23 Python
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
学前教育毕业生自荐信
2013/10/29 职场文书
乡镇交通安全实施方案
2014/03/29 职场文书
医药公司采购员岗位职责
2015/04/03 职场文书
聊聊golang中多个defer的执行顺序
2021/05/08 Golang
解决pytorch 损失函数中输入输出不匹配的问题
2021/06/05 Python
MongoDB orm框架的注意事项及简单使用
2021/06/20 MongoDB
解决IDEA翻译插件Translation报错更新TTK失败不能使用
2022/04/24 Python