Отправлять электронные письма списку людей после успешного конвейера GitLab CI - PullRequest
1 голос
/ 12 января 2020

Я пытаюсь настроить конфигурацию CI GitLab, которая отправляет почту после прохождения конвейера со ссылкой артефактов на сайт загрузки. Конвейер строится на основе pom. xml, затем тестирует с sonarqube и затем загружает артефакты, используя curl, в указанное c местоположение артефакта. Структура папок и ссылка на каталог артефактов зависит от CI_PIPELINE_ID. После того, как все это удастся, мне нужно отправить эту ссылку для загрузки артефактов в список людей по почте. Мой .gitlab-config.yml выглядит следующим образом:

image: maven:3.3.9-jdk-8

variables:
  MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
  MAVEN_CLI_OPTS: "-U --batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true"
  REPO_NAME: "<artifactory url>"

cache:
  paths:
    - .m2/repository
    - ./target/

stages:
  - build

compile_commit:
  stage: build
  only:
    - cr_integrate
  before_script:
    - git submodule sync --recursive
    - git submodule update --init --recursive --remote
  script:
    - mvn -f pom.xml -s settings.xml $MAVEN_CLI_OPTS clean install $MAVEN_OPTS
    - curl -i -u<username>:<token> -T "target/<artifact-1>.zip" "${REPO_NAME}/${CI_PIPELINE_ID}/<artifact-1>.zip"
    - curl -i -u<username>:<token> -T "target/<artifact-1>.zip" "${REPO_NAME}/${CI_PIPELINE_ID}/<artifact-2>.zip"
    - - curl -i -u<username>:<token> -T "target/<artifact-1>.zip" "${REPO_NAME}/${CI_PIPELINE_ID}/<artifact-3>.zip"
  tags:
    - <tagname>

Как мне после этого отправить письмо некоторым людям со ссылкой?

1 Ответ

1 голос
/ 13 января 2020

Эту функцию (электронные письма, отправленные после заданий CI, успешные или неудачные) можно включить и настроить в настройках проекта.

Раньше использовалось Settings > Services > Builds emails, но оно было перемещено.

Теперь его можно найти в разделе Settings > Integrations > Project Services, где вы найдете подстраницу:

Pipelines emails : Email the pipelines status to a list of recipients

Вы можете уведомлять только о сломанных сборках или нет, и только для некоторых ветвей.

(do c: https://docs.gitlab.com/ee/user/project/integrations/project_services.html)

...