博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用node.js写一个jenkins发版脚本
阅读量:7063 次
发布时间:2019-06-28

本文共 1233 字,大约阅读时间需要 4 分钟。

背景

每次到网页里手动发版有点烦,写个脚本来提高开发效率。

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);  })});

资料

博客首发地址:https://www.jianshu.com/u/13cd86311525

转载于:https://www.cnblogs.com/chaohangz/p/9824815.html

你可能感兴趣的文章
Leetcode名企之路
查看>>
JAVA 8 Streams
查看>>
weka安装
查看>>
设计模式(十一)享元模式
查看>>
解决开启服务器防火墙导致ftp不能连接的问题
查看>>
程序员网站
查看>>
p2v-VMware vCenter Converter Standalone 5.0
查看>>
在Windows平台上绿色安装postgresQL
查看>>
POJ 3617 Best Cow Line(贪心 字典序最小)
查看>>
oracle表中某个字段含有字符回车、空格的手动修改方式
查看>>
常用数学符号大全
查看>>
NGUI 学习笔记实战之二——商城数据绑定(Ndata)
查看>>
无法使用SQL Server Management Studio的找到Network Server
查看>>
kafka 遇到的错
查看>>
GIL - global interpreter lock
查看>>
MySQL笔记-最简单的方法来解决找不到mysqld.sock文件的问题
查看>>
securecrt中文乱码
查看>>
[转]Android获取、设置铃声,音量,静音,扬声器
查看>>
放大器(或集线器)模式(Hub)
查看>>
Web Part的Scope问题
查看>>