用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实现一个页面多个css样式实现
May 29 Javascript
一个网马的tips实现分析
Nov 28 Javascript
使用JavaScript动态设置样式实现代码及演示动画
Jan 25 Javascript
Node.js+Express配置入门教程详解
May 19 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
Aug 25 Javascript
Node.js的环境安装配置(使用nvm方式)
Oct 11 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
Feb 17 Javascript
利用nvm管理多个版本的node.js与npm详解
Nov 02 Javascript
Angular 如何使用第三方库的方法
Apr 18 Javascript
微信小程序实现动态获取元素宽高的方法分析
Dec 10 Javascript
15分钟学会vue项目改造成SSR(小白教程)
Dec 17 Javascript
vue 判断元素内容是否超过宽度的方式
Jul 29 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
实时抓取YAHOO股票报价的代码
2006/10/09 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
2019/03/22 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
2019/07/09 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
JavaScript写的一个自定义弹出式对话框代码
2010/01/17 Javascript
Javascript继承机制的设计思想分享
2011/08/28 Javascript
ToolTips JQEURY插件之简洁小提示框效果
2011/11/19 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
2012/03/14 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
简单的邮箱登陆的提示效果类似于yahoo邮箱
2014/02/26 Javascript
js函数模拟显示桌面.scf程序示例
2014/04/20 Javascript
Ubuntu中搭建Nodejs开发环境过程分享
2014/06/01 NodeJs
node.js中的path.sep方法使用说明
2014/12/08 Javascript
javascript动态获取登录时间和在线时长
2016/02/25 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
2017/04/20 Javascript
深入理解Vue官方文档梳理之全局API
2017/11/22 Javascript
vue使用iframe嵌入网页的示例代码
2020/06/09 Javascript
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
面试题:react和vue的区别分析
2019/04/08 Javascript
详解vue-cli@2.x项目迁移日志
2019/06/06 Javascript
多个vue子路由文件自动化合并的方法
2019/09/03 Javascript
react quill中图片上传由默认转成base64改成上传到服务器的方法
2019/10/30 Javascript
Flask框架响应、调度方法和蓝图操作实例分析
2018/07/24 Python
在Python中获取两数相除的商和余数方法
2018/11/10 Python
Python使用文件操作实现一个XX信息管理系统的示例
2020/07/02 Python
PIP和conda 更换国内安装源的方法步骤
2020/09/21 Python
英国赛车、汽车改装和摩托车零件购物网站:Demon Tweeks
2018/10/29 全球购物
高级Java程序员面试要点
2013/08/02 面试题
vue项目实现分页效果
2021/03/24 Vue.js
收银出纳员岗位职责
2014/02/23 职场文书
网络技术专业求职信
2014/07/13 职场文书
金榜题名主持词
2015/07/02 职场文书
公司员工培训管理制度
2015/08/04 职场文书
解决Golang time.Parse和time.Format的时区问题
2021/04/29 Golang
Python类方法总结讲解
2021/07/26 Python