用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也能使用EXTJS视频演示
Dec 29 Javascript
javascript高级学习笔记整理
Aug 14 Javascript
ScrollDown的基本操作示例
Jun 09 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
Nov 19 Javascript
js实现PC端根据IP定位当前城市地理位置
Feb 22 Javascript
ajax实现加载页面、删除、查看详细信息 bootstrap美化页面!
Mar 14 Javascript
jquery append与appendTo方法比较
May 24 jQuery
基于JS实现网页中的选项卡(两种方法)
Jun 16 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
Jul 20 Javascript
Vue 表情包输入组件的实现代码
Jan 21 Javascript
从0到1构建vueSSR项目之node以及vue-cli3的配置
Mar 07 Javascript
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
Nov 07 jQuery
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下使用strpos需要注意 === 运算符
2010/07/17 PHP
php中通过curl检测页面是否被百度收录
2013/09/27 PHP
jQuery Mobile + PHP实现文件上传
2014/12/12 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
2016/10/08 PHP
php常用字符函数实例小结
2016/12/29 PHP
php实现单笔转账到支付宝功能
2018/10/09 PHP
PHP随机数函数rand()与mt_rand()的讲解
2019/03/25 PHP
js过滤数组重复元素的方法
2010/09/05 Javascript
千分位数字格式化(用逗号隔开 代码已做了修改 支持0-9位逗号隔开)的JS代码
2013/12/05 Javascript
javascript中indexOf技术详解
2015/05/07 Javascript
AngularJS控制器继承自另一控制器
2016/05/09 Javascript
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
JavaScript中附件预览功能实现详解(推荐)
2017/08/15 Javascript
Vue中的ref作用详解(实现DOM的联动操作)
2017/08/21 Javascript
使用JS实现气泡跟随鼠标移动的动画效果
2017/09/16 Javascript
vue自定义过滤器创建和使用方法详解
2017/11/06 Javascript
3种vue路由传参的基本模式
2018/02/22 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
2018/03/01 Javascript
vue项目前端知识点整理【收藏】
2019/05/13 Javascript
[15:20]DOTA2-DPC中国联赛 正赛 Elephant vs Aster 选手采访
2021/03/11 DOTA
python的Template使用指南
2014/09/11 Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
2017/10/11 Python
Python实现的端口扫描功能示例
2018/04/08 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
Python lambda表达式filter、map、reduce函数用法解析
2019/09/11 Python
python实现图片横向和纵向拼接
2020/03/05 Python
Selenium自动化测试工具使用方法汇总
2020/06/12 Python
keras分类之二分类实例(Cat and dog)
2020/07/09 Python
《巨人的花园》教学反思
2014/02/12 职场文书
考生诚信考试承诺书
2014/05/23 职场文书
献爱心大型公益活动策划方案
2014/09/15 职场文书
新员工入职感言范文!
2019/07/04 职场文书
go语言中fallthrough的用法说明
2021/05/06 Golang
Django开发RESTful API实现增删改查(入门级)
2021/05/10 Python