第一步 配置 jenkins 用户 token
1. 在jenkins右上角,点击自己的名字,进入个人页面
2. 在个人页面的左侧,点击 “设置”,进入个人设置页面
3. 在个人设置页面,找到 API Token 模块,新建一个token。
这里我已经新建了 123456 的 token,再新建一个 2222 来做例子
3. 如上图,先点击 “添加新Token”,会弹出新的空白输入框。输入Token名称,点击生成,就会出现下图的情况。复制该字符串,作为 token。
第二步 在js中手动触发 新建一个jenkins远程构建任务
1. 引入npm包
npm i jenkins
包的官方文档:https://www.npmjs.com/package/jenkins
其他功能如 查询任务状态、获取打印日志 等,都可以在文档中找到。
本文只介绍最通用的如何连接上jenkins,和最基本的如何构建一个项目。
2. 初始化一个jenkins连接对象
const config = {
user: 'landiyaaa', // 在jenkins的用户名
token: '1127205bbe7f3b2b87e8c4bbb0adbb4038', // 在第一步生成的token长字符串
baseUrl: 'jenkins.xxx.com' // jenkins项目的域名。不要带协议和端口
}
const url = `https://${config.user}:${config.token}@${config.baseUrl}`
//生成一个jenkins连接对象
// crumbIssuer 默认 false, true 启用CSRF保护支持。也可以不开
const jenkins = require('jenkins')({ url, crumbIssuer: true })
3. 用刚刚生成的jenkins连接对象,构建一个远程任务。
执行该方法,任务就会自动开始构建了
jenkins.job.build(
{
// 想要发版的job的名字
name: 'jobName',
// parameters的内容对应在job上自定义的各构建参数
parameters: {
NAME: 'myapp',
APPTYPE: 'H5',
USE_TAG: true
}
},
(err, queueId) => {
// 回调方法
console.log('queue item number', queueId)
}
)