用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数据包含加号+通过ajax传到后台时出现连接错误
Aug 01 Javascript
JavaScript中string对象
Jun 12 Javascript
javascript伸缩菜单栏实现代码分享
Nov 12 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
Oct 05 Javascript
从零学习node.js之模块规范(一)
Feb 21 Javascript
webpack打包后直接访问页面图片路径错误的解决方法
Jun 17 Javascript
JavaScript字符串_动力节点Java学院整理
Jun 27 Javascript
JS中双击和单击事件冲突的解决方法
Apr 09 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
May 05 Javascript
多个vue子路由文件自动化合并的方法
Sep 03 Javascript
JS回调函数深入理解
Oct 16 Javascript
vue3.0中使用element的完整步骤
Mar 04 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
使用 MySQL 开始 PHP 会话
2006/12/21 PHP
php递归实现无限分类生成下拉列表的函数
2010/08/08 PHP
php后退一页表单内容保存实现方法
2012/06/17 PHP
Smarty模板学习笔记之Smarty简介
2014/05/20 PHP
destoon找回管理员密码的方法
2014/06/21 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
alixixi runcode.asp的代码不错的应用
2007/08/08 Javascript
JavaScript实现获取dom中class的方法
2015/02/09 Javascript
JS解析XML文件和XML字符串详解
2015/04/17 Javascript
浅谈JavaScript中指针和地址
2015/07/26 Javascript
JavaScript实现点击文本自动定位到下拉框选中操作
2016/06/15 Javascript
BootStrap轻松实现微信页面开发代码分享
2016/10/21 Javascript
AngularJS之自定义服务详解(factory、service、provider)
2017/04/14 Javascript
javascript 的变量、作用域和内存问题
2017/04/19 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
nodejs微信开发之接入指南
2019/03/17 NodeJs
Vue实现表格批量审核功能实例代码
2019/05/28 Javascript
js实现无缝轮播图
2020/03/09 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
查找Vue中下标的操作(some和findindex)
2020/08/12 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
python 生成器协程运算实例
2017/09/04 Python
ORM Django 终端打印 SQL 语句实现解析
2019/08/09 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
Python编写一个验证码图片数据标注GUI程序附源码
2019/12/09 Python
pytorch中的上采样以及各种反操作,求逆操作详解
2020/01/03 Python
使用python实现下载我们想听的歌曲,速度超快
2020/07/09 Python
Nike德国官网:Nike.com (DE)
2018/11/13 全球购物
TobyDeals美国:在电子产品上获得最好的优惠和折扣
2019/08/11 全球购物
介绍一下SQL Server的全文索引
2013/08/15 面试题
树转促学习心得体会
2014/09/10 职场文书
承诺函范文
2015/01/21 职场文书
导游词之山东红叶谷
2019/10/31 职场文书
python opencv旋转图片的使用方法
2021/06/04 Python