Сфера зависания CircleCI и уведомления о состоянии

#circleci #circleci-2.0

#circleci #circleci-2.0

Вопрос:

Я уже некоторое время использую circleci, но я новичок в сферах. Как вы, возможно, знаете, circleci отключает свою текущую систему уведомлений 14 августа. В результате я был вынужден перейти на orbs. Я сомневаюсь в уведомлениях о состоянии для каждого задания с использованием 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,USERID2,'
          message: This is a custom message notification
          webhook: webhook
  test:
    steps:
      - checkout
      - slack/notify:
          channel: CHANNELID
          color: '#42e2f4'
          mentions: 'USERID1,USERID2,'
          message: This is a custom message notification
          webhook: webhook

  lint:
    steps:
      - checkout
      - slack/notify:
          channel: CHANNELID
          color: '#42e2f4'
          mentions: 'USERID1,USERID2,'
          message: This is a custom message notification
          webhook: webhook
  

Я был бы признателен за вашу помощь в виде любого совета.

Ответ №1:

Также будучи давним пользователем, я был очень увлечен старой версией slack notifications.

Я нашел это решение со старой версией сфер CircleCI:

 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 — переменная среды CircleCI, настроенная на базовом входящем веб-сервере slack (или даже на том, который у вас был со старой интеграцией slack!).

ПРИМЕЧАНИЕ: slack/status команда больше не доступна в последней версии orbs.

У нас это работает, поскольку отправляет статус задания только на нашем канале #build в slack с визуальной зеленой или красной полосой и ссылкой для посещения страницы circle ci

введите описание изображения здесь