Рубрики
Uncategorized

Circleci Slack ORB пользовательских шаблонов

Привет, как Circleci относится к тебе? Если вы используете его как ваш инструмент CI / CD, я уверен, что есть … Теги с DEVOPS, CIRCLECI, CICD.

Привет, как Circleci относится к тебе? Если вы используете его в качестве вашего инструмента CI/CD, я уверен, что нужно для слабых уведомлений, сообщающих о состоянии на слабом канале. Есть несколько шаблонов по умолчанию, как basic_fail_1 и Success_Tagged_deploy_1 по Circleci/Slack orb Для мгновенного использования, но вы также можете предоставить пользовательский шаблон, если вам не нравится формат шаблона по умолчанию.

Подход к настройке шаблона здесь состоит в том, чтобы включить более информационные теги в сообщении уведомления. Кроме того, мы хотим, чтобы это был многоразовый шаблон и используется несколькими заданиями в нашем трубопроводе. Мы можем сделать это с Команды в Circleci’s config.yml Отказ Обратите внимание на << parations.env >> будет динамической входной строкой.

commands:
  notify-success:
    parameters:
      env:
        type: string
        default: "env"
    steps:
      - slack/notify:
          event: pass
          custom: |
            {
              "text": "CircleCI job succeeded!",              
              "blocks": [
                {
                  "type": "header",
                  "text": {
                    "type": "plain_text",
                    "text": "Job Successful. :tada:",
                    "emoji": true
                  }
                },
                {
                  "type": "section",
                  "fields": [
                    {
                      "type": "mrkdwn",
                      "text": "*Env*: << parameters.env >>"
                    },
                    {
                      "type": "mrkdwn",
                      "text": "*Job*: ${CIRCLE_JOB}"
                    }
                  ]
                },
                {
                  "type": "section",
                  "fields": [
                    {
                      "type": "mrkdwn",
                      "text": "*Project*: $CIRCLE_PROJECT_REPONAME"
                    },
                    {
                      "type": "mrkdwn",
                      "text": "*Branch*: $CIRCLE_BRANCH"
                    }
                  ]
                },
                {
                  "type": "actions",
                  "elements": [
                    {
                      "type": "button",
                      "text": {
                        "type": "plain_text",
                        "text": "View Job"
                      },
                      "url": "${CIRCLE_BUILD_URL}"
                    }
                  ]
                }
              ]
            }

Чтобы использовать команды на работе, например:

jobs:
  deploy-mobile:
    docker:
      - image: 'cimg/node:15.14.0'
    resource_class: large
    steps:
      - checkout
      - node/install-packages:
          pkg-manager: yarn
          app-dir: ./mobile
          override-ci-command: yarn install --frozen-lockfile
          with-cache: true
      - run: yarn deploy:mobile
      - notify-success:
          env: "Mobile Staging"
  deploy-web:
    docker:
      - image: 'cimg/python:3.6.11-node'
    resource_class: large
    steps:
      - checkout
      - node/install-packages:
          pkg-manager: yarn
          app-dir: ./webapp
          override-ci-command: yarn install --frozen-lockfile
          with-cache: true
      - run: yarn deploy:web
      - notify-success:
          env: "Web Production"

Сокращение уведомления о результатах:

Оригинал: «https://dev.to/kylefoo/circleci-slack-custom-template-55a5»