JENKINS触发远程构建功能使用

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、添加证书

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值