Kub*_*hon 5 curl gitlab gitlab-ci slack
我正在向 gitlab-ci 流程添加一个新阶段,以便在开始或结束新的释放部署时发送通知。我首先在 Slack 中创建传入 Webhook,然后更新了该gitlab-ci.yml文件。
这是子步骤将从中继承的父阶段。
#------------------------------------------
# Slack stage, used by slack-start stage and slack-end stage.
#------------------------------------------
.slack:
stage: slack
image:
name: curlimages/curl
script:
- "curl -X POST -H 'Content-type: application/json' --data '{\"text\":\"${SLACK_MESSAGE}\"}' https://hooks.slack.com/services/TH6L32SAC/B2B0LA77/UR63paW7kHNUoTgSL2LRy"
tags:
- kubernetes
Run Code Online (Sandbox Code Playgroud)
这是一个子步骤,(发送开始消息)
#------------------------------------------
# Notify on the start of a new test release
#------------------------------------------
slack-start-staging:
stage: slack-start-staging
extends:
- .slack
variables:
SLACK_MESSAGE: We are starting the deployment of a new test release on the QA environnement
rules:
- if: $CI_COMMIT_BRANCH == "develop" && $CI_PIPELINE_SOURCE == "push"
Run Code Online (Sandbox Code Playgroud)
我在专用通道上收到消息,但该变量${SLACK_MESSAGE}未被解释。
以下是我在 Slack 上得到的准确信息:the_app_name: ${SLACK_MESSAGE}
您必须使用双引号才能解析环境变量:
script:
- 'curl -X POST -H "Content-type: application/json" --data "{\"text\":\"${SLACK_MESSAGE}\"}" https://hooks.slack.com/services/TH6L32SAC/B2B0LA77/UR63paW7kHNUoTgSL2LRy'
Run Code Online (Sandbox Code Playgroud)