CircleCI에서 빌드 결과를 슬랙으로 알립니다. 5분만에 가능합니다.
10249 단어 CircleCIdocker-compose도커
CircleCI의 작업 결과를 슬랙에 알립니다.
본 기사에서는 무언가의 자동 테스트나 자동 배포의 결과를 slack에 통지하는 방법 기사로 하고 있습니다. 쉽게 알기 쉽게, 그리고 빨리 할 수 있도록 정리했으므로, 곧 끝내서 다른 작업을 합시다! !
환경
CircleCI 2.1
orbs: slack: circleci/slack@3.4.2
조건
이러한 조건에 해당하는 경우 절차대로 처음 시작하십시오.
해당되지 않는 경우 오류가 발생하면 혼란을 일으킬 수 있으므로주의하시기 바랍니다!
공정
1. webhook 취득
2. CircleCI에서 환경 변수 설정
3. config.yml 파일에 필요한 소스를 기술
1. Webhook 받기
⬆️⬆️ 위의 URL에서 환경 변수로 설정하기위한 URL을 가져옵니다.
지정한 계정에 로그인하고 알림할 채널을 지정하면 URL이 발급됩니다.
로그인하면 위 사진에서 채널을 선택하는 화면이 나오므로 선택.
다음 화면에서 URL이 나오므로 복사하여 삼가하십시오.
2.CircleCI에서 환경 변수 설정
CircleCI에서 환경 변수를 설정합니다.
프로젝트 설정 화면에서 환경 변수 등록하기
프로젝트를 선택하고 가져오기
이름은 SLACK_WEBHOOK로
Value는 이전에 삼킨 URL을 복사합니다.
3. /.circleci/config.yml 파일에 알림 매개변수 설정
config.yml
orbs:
slack: circleci/[email protected]
# 省略
- slack/status:
success_message: ':circleci-pass: $CIRCLE_BRANCH のビルドが完了しました\n:github_octocat: User:$CIRCLE_USERNAME'
failure_message: ':circleci-fail: $CIRCLE_BRANCH のビルドが失敗しました\n:github_octocat: User:$CIRCLE_USERNAME'
webhook: '${SLACK_WEBHOOK}'
이 2 종류의 기술을한다
내 경우
config.yml
version: 2.1
orbs:
slack: circleci/[email protected]
jobs:
build:
docker:
- image: circleci/ruby:2.6.5-node-browsers
environment:
- BUNDLER_VERSION: 2.2.3
- RAILS_ENV: 'test'
- image: circleci/mysql:5.7
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD: 'true'
- MYSQL_ROOT_HOST: '127.0.0.1'
working_directory: **
steps:
- checkout
- restore_cache:
keys:
- v1-dependencies-{{ checksum "Gemfile.lock" }}
- v1-dependencies-
- run:
name: install dependencies
command: |
gem install bundler -v 2.2.0
bundle install --jobs=4 --retry=3 --path vendor/bundle
- save_cache:
paths:
- ./vendor/bundle
key: v1-dependencies-{{ checksum "Gemfile.lock" }}
# Database setup
- run: mv ./config/database.yml.ci ./config/database.yml
# Database setup
- run:
name: DatabaseSetup
command: |
bundle exec rake db:create
bundle exec rake db:schema:load
# yarn install
- run:
name: yarn Install
command: yarn install
- run: bundle exec bin/webpack
# run tests!
- run:
name: RSpec 並列実行
command: |
mkdir /tmp/test-results
TEST_FILES="$(circleci tests glob " **/spec/**/*_spec.rb" | circleci tests split --split-by=timings)"
bundle exec rspec --format progress \
--out /tmp/test-results/rspec.xml \
--format progress \
$TEST_FILES
# collect reports
- store_test_results:
path: /tmp/test-results
- store_artifacts:
path: /tmp/test-results
destination: test-results
#ssh接続
- add_ssh_keys:
fingerprints:
- "**"
#デプロイ
- deploy:
name: Capistrano deploy
command: |
if [ "${CIRCLE_BRANCH}" != "master" ]; then
exit 0
fi
bundle exec cap production deploy
- slack/status:
success_message: ':circleci-pass: $CIRCLE_BRANCH のビルドが完了しました\n:github_octocat: User:$CIRCLE_USERNAME'
failure_message: ':circleci-fail: $CIRCLE_BRANCH のビルドが失敗しました\n:github_octocat: User:$CIRCLE_USERNAME'
webhook: '${SLACK_WEBHOOK}'
이제 job을 달려보고 통지가 오면 성공입니다.
이 알림이 오면 완성입니다.
수고하셨습니다! !
Reference
이 문제에 관하여(CircleCI에서 빌드 결과를 슬랙으로 알립니다. 5분만에 가능합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/uochann/items/d77181d899adb6d944d7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)