用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 相关文章推荐
JavaScript中的其他对象
Jan 16 Javascript
用于判断用户注册时,密码强度的JS代码
Jan 01 Javascript
你必须知道的Javascript知识点之"深入理解作用域链"的介绍
Apr 23 Javascript
JavaScript中的立即执行函数表达式介绍
Mar 15 Javascript
jQuery实现的向下图文信息滚动效果
May 03 Javascript
纯JavaScript实现的分页插件实例
Jul 14 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
Jun 08 Javascript
原生JS:Date对象全面解析
Sep 06 Javascript
jquery validate表单验证插件
Sep 06 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
Sep 18 Javascript
js canvas实现橡皮擦效果
Dec 20 Javascript
vue实现绑定事件的方法实例代码详解
Jun 20 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
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
discuz论坛 用户登录 后台程序代码
2008/11/27 PHP
PHP中对于浮点型的数据需要用不同的方法解决
2014/03/11 PHP
浅析PHP中strlen和mb_strlen的区别
2014/08/31 PHP
php foreach如何跳出两层循环(详解)
2016/11/05 PHP
location.href 在IE6中不跳转的解决方法与推荐使用代码
2010/07/08 Javascript
ModelDialog JavaScript模态对话框类代码
2011/04/17 Javascript
同一页面多个商品倒计时JS 基于面向对象的javascript
2012/02/16 Javascript
js判断变量是否未定义的代码
2020/03/28 Javascript
js复制网页内容并兼容各主流浏览器的代码
2013/12/17 Javascript
基于jQuery实现的文字按钮表单特效整理
2014/12/07 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
2015/02/25 Javascript
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
javascript数组克隆简单实现方法
2015/12/16 Javascript
js实现3D图片环展示效果
2017/03/09 Javascript
详解用vue-cli来搭建vue项目和webpack
2017/04/20 Javascript
在Mac下彻底卸载node和npm的方法
2018/05/16 Javascript
Angular5中状态管理的实现
2018/09/03 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
layui table去掉右侧滑动条的实现方法
2019/09/05 Javascript
JavaScript This指向问题详解
2019/11/25 Javascript
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
从零学Python之入门(四)运算
2014/05/27 Python
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
2014/11/05 Python
python禁用键鼠与提权代码实例
2019/08/16 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
前台文员岗位职责及工作流程
2013/11/19 职场文书
外企办公室竞聘演讲稿
2013/12/29 职场文书
大四学生找工作的自荐信
2014/03/27 职场文书
校园广播稿精选
2014/10/01 职场文书
关于工作经历的证明书
2014/10/11 职场文书
师范生见习报告范文
2014/11/03 职场文书
异地恋情人节寄语
2015/02/28 职场文书
nginx实现发布静态资源的方法
2021/03/31 Servers
python垃圾回收机制原理分析
2022/04/13 Python