用node.js写一个jenkins发版脚本
时间:2022-07-25
本文章向大家介绍用node.js写一个jenkins发版脚本,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
背景
每次到网页里手动发版有点烦,写个脚本来提高开发效率。
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);
})
});
资料
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- git提取两次提交或者版本的差异文件并打包成zip压缩包
- 博客通用版Live2d伊斯特瓦尔发布
- 一个小需求,自动重启k8s集群中日志不刷新的POD
- 多图,一文了解 8 种常见的数据结构
- Jenkins--pipline 流水线部署Java后端项目
- 微信小程序修炼之路LV1—工具介绍篇
- CentOS 7 部署OpenLDAP+FreeRadius
- 手把手教你使用yolo进行对象检测
- K8s之Helm工具详解
- 技术创作101训练营——上古神器Gvim--从入门到精通
- 关于linux7下编写crontab任务执行mysqldump备份无效
- 黑暗中的YOLO:解决黑夜里的目标检测 | ECCV 2020
- Elasticsearch:Java 运用示例
- 【5分钟玩转Lighthouse】搭建个人云盘
- Elasticsearch:Index alias