JENKINS触发远程构建功能使用(免登陆)
背景
项目中需要能够通过脚本来进行触发远程构建。需要免登陆触发构建
实现
安装插件
1、插件Build Authorization Token Root Plugin可以解决这个问题
http://JENKINS_SITE/buildByToken/build?job=NAME&token=SECRET
配置 API Token
具体项目配置 触发构建,其中身份验证令牌为API Token
脚本中请求构建
curl -s 'http://ip:port/buildByToken/build?job=jobName&token=token'
其中IP 、port、jobName、token 设置为具体实际值
创建账户
需要安装的插件
Role-Based Strategy(可以对构建的项目进行授权管理,让不同的用户管理不同的项目,将测试和生产环境分开)
https://plugins.jenkins.io/role-strategy/
下载地址
https://updates.jenkins-ci.org/download/plugins/publish-over-ssh/
创建角色
给用户分配权限
判断文件是否存在
#shell判断文件夹是否存在
#如果文件夹不存在,创建文件夹
if [ ! -d "/Top" ]; then
mkdir -p /Topfi
#shell判断文件,目录是否存在或者具有权限
folder="/Top"
file="/Top/test.txt"
# -x 参数判断 $folder 是否存在并且是否具有可执行权限
if [ ! -x "$folder"]; then
mkdir "$folder"
fi
# -d 参数判断 $folder 是否存在
if [ ! -d "$folder"]; then
mkdir "$folder"
fi
# -f 参数判断 $file 是否存在
if [ ! -f "$file" ]; then
touch "$file"
fi
# -n 判断一个"变量"是否有值
if [ ! -n "$file" ]; then
echo "$file 变量为空!"
exit 0
fi
# 判断两个变量的字符串内容是否相同
if [ "$file1" = "$file2" ]; then
echo "$file1 equal $file2"
else
echo "$file1 not equal $file2"
fi
安装远程ssh插件
1、安装 ssh插件
2、配置ssh remote
3、添加证书