基于 Jenkins 定时作业的上线执行人机器人通知
1 shell script
#!/bin/bash
# 参与人员来源可以是文本、网络、数据库都可以
release_personnel_array=('A同学' 'B同学' 'C同学' 'D同学')
# 上一个人员
previous_personnel=$(cat ../release.txt)
# 当前人员
current_personnel=''
break_flag=0
for (( i = 0; i < ${#release_personnel_array[*]}; i++ )); do
if [[ "${release_personnel_array[$i]}" == "${previous_personnel}" ]]; then
# 赋值跳出标记
break_flag=1
continue
fi
# 判断跳出标记
if [[ ${break_flag} == 1 ]]; then
# 赋值当前人员
current_personnel=${release_personnel_array[$i]}
break
fi
done;
# 判断获取到的当前人是否为空
if [[ ! -n "$current_personnel" ]]; then
# 赋值当前人为数组第一个
current_personnel=${release_personnel_array[0]}
fi
# 将结果写入文件
echo ${current_personnel}>../release.txt
# 触发机器人通知
curl 'https://xxxx' \
-H 'Content-Type: application/json' \
-d '
{
"msgtype": "text",
"text": {
"content": "本月上线发布执行人:'${current_personnel}'"
}
}'
2 Jenkins 配置
2.1 构建触发器
- 定时构建
可根据自己的需求修改构建触发时间。
2.2 构建
- 执行 shell