用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 Jquery 遍历,筛选页面元素 自动完成(实现代码)
Jul 08 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
Jan 04 Javascript
jquery ajax结合thinkphp的getjson实现跨域的方法
Jun 06 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
Jun 06 Javascript
Angular懒加载机制刷新后无法回退的快速解决方法
Aug 30 Javascript
layui前段框架日期控件使用方法详解
May 19 Javascript
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
Jun 14 jQuery
详解vue引入子组件方法
Feb 12 Javascript
详解Vue3.0 前的 TypeScript 最佳入门实践
Jun 18 Javascript
基于 vue-skeleton-webpack-plugin 的骨架屏实战
Aug 05 Javascript
javascript 构建模块化开发过程解析
Sep 11 Javascript
Echarts地图添加引导线效果(labelLine)
Sep 30 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
星际争霸 Starcraft 发展史
2020/03/14 星际争霸
PHP foreach遍历多维数组实现方式
2016/11/16 PHP
PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
2018/12/25 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
jquery入门—访问DOM对象方法
2013/01/07 Javascript
基于jquery的9行js轻松实现tab控件示例
2013/10/12 Javascript
js获取视频时长代码
2014/04/10 Javascript
跟我学Nodejs(一)--- Node.js简介及安装开发环境
2014/05/20 NodeJs
Javascript Memoizer浅析
2014/10/16 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
Bootstrap每天必学之面板
2015/11/30 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
2016/06/24 Javascript
js实现简单的碰壁反弹效果
2016/08/30 Javascript
预防网页挂马的方法总结
2016/11/03 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
2017/12/13 Javascript
jQuery pagination分页示例详解
2018/10/23 jQuery
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
2019/04/29 Javascript
使用Typescript和ES模块发布Node模块的方法
2020/05/25 Javascript
python通过yield实现数组全排列的方法
2015/03/18 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
Python数据可视化教程之Matplotlib实现各种图表实例
2019/01/13 Python
解决pycharm工程启动卡住没反应的问题
2019/01/19 Python
Python正则表达式如何匹配中文
2020/05/27 Python
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
J2SDK1.5与J2SDK5.0有什么区别
2012/09/19 面试题
经典c++面试题三
2015/07/08 面试题
自考毕业自我鉴定范文
2013/10/27 职场文书
结婚典礼证婚词
2014/01/11 职场文书
《最大的“书”》教学反思
2014/02/14 职场文书
房产委托公证书样本
2014/04/04 职场文书
国际商务专业毕业生自我鉴定2014
2014/09/27 职场文书
先进工作者申报材料
2014/12/23 职场文书
2015年社区卫生工作总结
2015/04/21 职场文书
大学生暑期社会实践的个人总结!
2019/07/17 职场文书
浅谈Python numpy创建空数组的问题
2021/05/25 Python