Open felix-cao opened 3 years ago
用 Jenkins
用户账号密码触发任务或用户 API token
, 参考 how to trigger jenkins job via curl command remotely
curl -I -u hsxue:password http://j.cxxx.cn/job/msg_notification/buildWithParameters?token=thcweb&name=czf
但这有个弊端,处理的参数数量有限
curl -X POST http://j.cxxx.cn/job/msg_notification/buildWithParameters?token=thcweb \
--user hsxue:'password' \
--data name=czf
上面的脚本会报错:
改为 apitoken
就不报错了, 参考 Jenkins: 403 No valid crumb was included in the request
API token
: Accounts icon -> configure -> API Token -> Add New token
curl -X POST http://j.cxxx.cn/job/msg_notification/buildWithParameters?token=thcweb \
--user hsxue:apitoken \
--data name=czf
安装 AnsiColor
Manage Jenkins
-> Manage plugins
-> Available
-> 输入 ansicolor
;
在 pipeline
中加入
agent any
options {
ansiColor('xterm')
}
yarn add ansi-colors -D
一、安装 pipeline
Manage Jenkins
->Manage plugins
->Available
-> 输入pipeline
安装后重启
Jenkins
按照 官方 doc 创建一个
item
, 在Script text area
输入官方提供的脚本跑一把看看效果
二、发送邮件
2.1 脚本
下载安装
Email Extension Plugin
插件, 在Configure System
中配置Extended E-mail Notification
,具体方法及步骤参考 Jenkins 邮件通知配置在
pipeline
脚本中添加post
部分2.2 URL 触发
http://ip/job/THC_Message_Notification/build?token=12212
2.3 带参数的URL触发
script
中配置参数注意
&name
前有转义符\
:三、远程主机通信
3.1、创建
Jenkins
服务器与 被控主机之间的 免密登录,具体方法和步骤参考 linux 下开启 SSH,远程免密登录
3.2、设置凭据配置后,再去
Manage Credentials
3.3、添加凭证
注意,
Private Key
为Jenkins
服务器中的 私钥3.4、安装
SSH Agent
Manage Jenkins
->Manage plugins
->Available
-> 输入SSH Agent
, 这里有一篇不错的 SSH Agent 知识3.5、编写 pipeline
这里的
shell
的写法 参考 Reference2Reference
Jenkins User Documentation
使用shell登录远程服务器执行多条命令,ssh登录之后执行脚本文件