用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 13 Javascript
jQuery中[attribute!=value]选择器用法实例
Dec 31 Javascript
jQuery选择器querySelector的使用指南
Jan 23 Javascript
BootstrapValidator不触发校验的实现代码
Sep 28 Javascript
总结Javascript中数组各种去重的方法
Oct 04 Javascript
前端面试知识点锦集(JavaScript篇)
Dec 28 Javascript
VUE axios发送跨域请求需要注意的问题
Jul 06 Javascript
解决Vue不能检测数组或对象变动的问题
Feb 24 Javascript
angular-tree-component的使用详解
Jul 30 Javascript
js实现3D旋转效果
Aug 18 Javascript
详解如何在vue+element-ui的项目中封装dialog组件
Dec 11 Vue.js
vue实现图书管理系统
Dec 29 Vue.js
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编程开发“虚拟域名”系统
2006/10/09 PHP
用PHP连接Oracle for NT 远程数据库
2006/10/09 PHP
两种设置php载入页面时编码的方法
2014/07/29 PHP
简述php环境搭建与配置
2016/12/05 PHP
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
JQury slideToggle闪烁问题及解决办法
2011/07/05 Javascript
JQuery给元素添加/删除节点比如select
2013/04/02 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
2014/02/10 Javascript
浅谈JavaScript中指针和地址
2015/07/26 Javascript
JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用
2016/09/19 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
2016/12/12 Javascript
微信小程序后台解密用户数据实例详解
2017/06/28 Javascript
vue子父组件通信的实现代码
2017/07/09 Javascript
React教程之Props验证的具体用法(Props Validation)
2017/09/04 Javascript
Angular4实现鼠标悬停3d倾斜效果
2017/10/25 Javascript
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
angularjs数组判断是否含有某个元素的实例
2018/02/27 Javascript
Vue实现内部组件轮播切换效果的示例代码
2018/04/07 Javascript
基于Vue-cli快速搭建项目的完整步骤
2018/11/03 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
2020/08/10 Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
2020/11/11 Javascript
Python对象转JSON字符串的方法
2016/04/27 Python
Python基于递归算法实现的走迷宫问题
2017/08/04 Python
python中的print()输出
2019/04/12 Python
html5新增的定时器requestAnimationFrame实现进度条功能
2018/12/13 HTML / CSS
详解通过focusout事件解决IOS键盘收起时界面不归位的问题
2019/07/18 HTML / CSS
美德少年事迹材料
2014/01/23 职场文书
六一儿童节活动总结
2014/08/27 职场文书
2014企业年终工作总结
2014/12/23 职场文书
党支部先进事迹材料
2014/12/24 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
《秋天的雨》教学反思
2016/02/19 职场文书
2019个人半年工作总结
2019/06/21 职场文书
Ajax实现局部刷新的方法实例
2021/03/31 Javascript
left join、inner join、right join的区别
2021/04/05 MySQL
Win10玩csgo闪退如何解决?Win10玩csgo闪退的解决方法
2022/07/23 数码科技