用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 15 Javascript
ExtJS4给Combobox设置列表中的默认值示例
May 02 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
Jun 13 Javascript
jquery操作对象数组元素方法详解
Nov 26 Javascript
基于JavaScript实现树形下拉框
Aug 10 Javascript
AngularJs入门教程之环境搭建+创建应用示例
Nov 01 Javascript
Vue数据驱动模拟实现4
Jan 12 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
Mar 06 Javascript
Bootstrap fileinput文件上传预览插件使用详解
May 16 Javascript
jquery引入外部CDN 加载失败则引入本地jq库
May 23 jQuery
vue仿element实现分页器效果
Sep 13 Javascript
一文搞懂ES6中的Map和Set
May 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
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
return false;和e.preventDefault();的区别
2010/07/11 Javascript
了解一点js的Eval函数
2012/07/26 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
JS显示日历和天气的方法
2016/03/01 Javascript
JavaScript的函数式编程基础指南
2016/03/19 Javascript
JavaScript中this的用法实例分析
2016/12/19 Javascript
JS回调函数简单用法示例
2017/02/09 Javascript
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
2019/04/17 Javascript
js实现抽奖的两种方法
2020/03/19 Javascript
Vant 中的Toast设置全局的延迟时间操作
2020/11/04 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
Python读写Excel文件方法介绍
2014/11/22 Python
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
python去掉行尾的换行符方法
2017/01/04 Python
python+selenium实现登录账户后自动点击的示例
2017/12/22 Python
面向初学者的Python编辑器Mu
2018/10/08 Python
Python实现图片转字符画的代码实例
2019/02/22 Python
Python手绘可视化工具cutecharts使用实例
2019/12/05 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
详解Python 循环嵌套
2020/07/09 Python
CSS3 优势以及网页设计师如何使用CSS3技术
2009/07/29 HTML / CSS
雅诗兰黛(Estee Lauder)英国官方网站:世界顶级化妆品牌
2016/12/29 全球购物
英国建筑用品在线:Building Supplies Online(BSO)
2018/04/30 全球购物
Linux内核的同步机制是什么?主要有哪几种内核锁
2016/07/11 面试题
农村葬礼主持词
2014/03/31 职场文书
男女朋友协议书
2014/04/23 职场文书
人事专员岗位说明书
2014/07/29 职场文书
单位作风建设自查报告
2014/10/23 职场文书
CSS3鼠标悬浮过渡缩放效果
2021/04/17 HTML / CSS
js Proxy的原理详解
2021/05/25 Javascript
MySQL为id选择合适的数据类型
2021/06/07 MySQL
Python Pandas读取Excel日期数据的异常处理方法
2022/02/28 Python
阿里云日志过滤器配置日志服务
2022/04/09 Servers