问题描述
我已经使用 circleci 一段时间了,但是我对球体还是陌生的。
如您所知, circleci 将于8月14日停用其当前的通知系统。结果,我被迫搬到球体上。
我的疑问是关于使用circleci/slack@x.y.z
对于单份工作,我可以做:
jobs:
build:
docker:
- image: <docker image>
steps:
- slack/notify:
channel: CHANNELID
color: '#42e2f4'
mentions: 'USERID1,USERID2,'
message: This is a custom message notification
webhook: webhook
orbs:
slack: circleci/slack@x.y.z
version: 2.1
workflows:
your-workflow:
jobs:
- build
但是,多个作业会发生什么。有没有办法避免代码重复,在每个作业步骤- slack/notify:
我想避免以下情况
jobs:
build:
docker:
- image: <docker image>
steps:
- checkout
- slack/notify:
channel: CHANNELID
color: '#42e2f4'
mentions: 'USERID1,'
message: This is a custom message notification
webhook: webhook
test:
steps:
- checkout
- slack/notify:
channel: CHANNELID
color: '#42e2f4'
mentions: 'USERID1,'
message: This is a custom message notification
webhook: webhook
lint:
steps:
- checkout
- slack/notify:
channel: CHANNELID
color: '#42e2f4'
mentions: 'USERID1,'
message: This is a custom message notification
webhook: webhook
如果有任何建议,我将不胜感激。
解决方法
也是一个长期用户,我真的很喜欢旧版本的 slack 通知。
我用旧版本的 CircleCI Orbs 找到了这个解决方案:
orbs:
slack: circleci/slack@3.4.2. # version is important
jobs:
build-and-test:
docker:
- image: cimg/node:14.16
steps:
- checkout
[...]
- slack/status:
fail_only: false
webhook: $SLACK_WEBHOOK
其中 $SLACK_WEBHOOK
是在基本 slack 传入 webhook 上配置的 CircleCI 环境变量(或者甚至是您曾经在旧的 slack 集成中使用的那个!)
注意:slack/status
命令不再适用于最新版本的球体。
它对我们有用,因为它只在我们的#build 频道中发送工作状态,带有可视的绿色或红色栏以及访问圆 ci 页面的链接