GitLab标签发布完成后自动向指定用户发送发布说明的自动化方案咨询
GitLab标签发布后自动推送发布说明给指定用户的方案
1. GitLab CI/CD内置通知(无需额外脚本)
GitLab CI/CD可直接绑定标签触发的流水线,把标签内的发布说明发送给指定用户,核心利用Runner自带工具完成通知,无需编写独立脚本。
配置方式:
- 在项目根目录的
.gitlab-ci.yml中设置仅标签触发流水线:workflow: rules: - if: $CI_COMMIT_TAG - 添加通知任务,用
git命令拉取标签描述,再通过sendmail发送邮件给指定用户:
若需使用Slack、企业微信等工具,直接替换send_release_notes: stage: deploy script: - | # 拉取当前标签的发布说明 RELEASE_NOTES=$(git tag -l --format='%(contents)' $CI_COMMIT_TAG) # 构造邮件内容并发送 echo -e "Subject: 新发布通知:$CI_COMMIT_TAG\n\n发布说明:\n$RELEASE_NOTES" | sendmail user1@yourdomain.com user2@yourdomain.com rules: - if: $CI_COMMIT_TAGsendmail部分为对应工具的通知命令即可,GitLab Runner环境通常支持常用通讯工具客户端。
2. GitLab Release自动通知
如果创建标签时同步生成GitLab Release(推荐此方式,标签与Release绑定更规范),可直接在Release配置里开启自动通知:
- 进入项目的Releases页面,创建Release时(或在项目设置的Release模板中预设),添加指定用户的邮箱或群组;
- 开启自动通知选项,后续每次创建带Release的标签时,GitLab会自动把Release说明(即标签描述)发送给指定用户列表。
3. GitLab Webhooks配置(纯配置无代码)
通过Webhooks监听标签推送事件,把事件中的发布说明转发给指定用户:
- 进入项目的Settings > Webhooks;
- 触发事件选择Tag push events;
- 在URL中填写能接收事件并转发通知的服务地址(比如企业内部的邮件转发服务、通知机器人接口),GitLab会把包含标签描述的事件数据发送过去,服务端直接解析后推送给指定用户。这种方式完全无需编写代码,只要有现成的接收服务即可。
以上三种方案都不需要编写独立的外部脚本,均基于GitLab原生功能实现,操作简便。
内容的提问来源于stack exchange,提问作者YggY
相关产品推荐
相关产品推荐

