Jenkins-自动化部署-通知

场景

使用jenkins部署,但有时不能立马部署,需要先通知相关人员,再部署,如果确实不能部署,可以留时间撤销。

方案

1.开始前我们添加,真正开始执行的等待时间;可供选择(Choice Parameter),先通知相关人员,如果这段时间不能部署,则取消任务

2.每个任务建议 在 Build Steps 中单独编写,并且都添加,成功或则失败的检查,如果失败直接阻止主要流程继续。参考如下

Jenkins 中 写 shell 命令执行失败,检测失败问题_jenkins 执行shell脚本 不生效-CSDN博客

3.发送内容:

我们这个分两步,第一步 发送:开始 重启服务器; 第二步发送:服务器重启成功

4.方式:

我们使用通讯软件提供的外部api(不同的通讯软件,应该都可以添加类似这种机器人接口), 比如给qq群添加 机器人等,这里使用 钉钉为例

外部调用例子

bash 复制代码
# DingDingToken Env 前面定义的参数名
curl --location "https://oapi.dingtalk.com/robot/send?access_token=${DingDingToken}" \
  --header 'Content-Type: application/json' \
  --data "{
  \"msgtype\":\"markdown\",
  \"markdown\":{
  	\"title\":\"服务器更新\",
  	\"text\":\"# ${Env} \n ${DeployTypeContent} **开始**\"
  }
}"

效果如下,模拟服务器重启

Note

1.建议前期先每个功能单独编写

2.总结公共的可选参数放在 Choice Parameter 或者其它类型

3.整合前面编写的功能,根据实际情况,一部分放在jenkins中,一部分通过 svn等加载进来

4.注意所有异常情况,防止服务因部署问题意外被杀等问题

5.根据时间情况配置每个自动化流程,比如磁盘容量问题,长期执行可能存在大量日志,可通过配置设置保存时间

相关推荐
liulilittle37 分钟前
麻将结算全链路语义(SETTLE_SEMANTICS)
ai·自动化·llm·mock·lua·测试
jingli91 小时前
恶意退款怎么办、仅退款怎么申诉:六类恶意退款识别特征+取证证据链+反制全流程(商家实操版)
人工智能·自动化·用户运营
阿明61 小时前
Linux进程【Linux】
linux·运维·服务器
Android系统攻城狮2 小时前
Linux Gstreamer深度解析之gst_audio_resampler_update调用流程与实战(三十)
linux·运维·服务器·gstreamer音视频·音视频进阶
苍苍竹林寺2 小时前
Module Builder——Gem200之Alarm模块
自动化·半导体·eap
微信ipad协议开发2 小时前
微信视频号自动化:内容发布与互动的 API 实现
运维·微信
jingli92 小时前
微信自动回复怎么设置?重复问题怎么自动回答——私域FAQ自动应答搭建全流程(关键词匹配+知识库+语义AI,2026实操版)
人工智能·自动化·用户运营
微信ipad协议开发2 小时前
教培机构微信自动化:从招生引流到社群运维的完整链路
微信·机器人·自动化·教育电商
liulilittle3 小时前
麻将服务器崩溃补偿与异常处理语义(CRASH_SEMANTICS)
ai·自动化·llm·mock·lua·测试·tools
NailiConveyor3 小时前
输送线方案设计的工程基础|布局与接口的技术考量|控制系统架构要点
大数据·自动化·制造·业界资讯