Slack에서 CircleCI에서 커버리지 보고서 알림을 받는 구성 단계
4037 단어 CircleCI슬랙CircleCI2.0
소개
Slack과 CircleCI를 함께 사용하여 커버리지 보고서를 slack에서 쉽게 볼 수 있도록 설정 절차를 요약했습니다.
단순히 CircleCI의 Artifacts에 커버리지 보고서를 올리는 것만으로는 아무도 볼 수 없으므로 누군가가 푸시 할 때마다 Slack에서 커버리지 보고서 링크를 알립니다.
덧붙여서, 단순히 GitHub 리포지토리의 평균적인 커버리지수만을 볼 수 있게 하고 싶다면, Codecov등을 사용해 배지를 붙이는 것이라도 좋다고 생각합니다.
전제
이미 CircleCI의 Artifacts에서 아래와 같이 coverage.html을 낼 수 있다고 가정합니다.
작동 확인한 CircleCI 버전은 2.0입니다.
설정 절차
①Slack의 Webhook URL 취득
이 기사 를 참고로 취득해 주세요.
기본적으로는 "설정 추가 → 대상 채널 선택 → Webhook URL을 삼가 → 설정 저장"이라는 흐름입니다.
이미지라든지 바꾸면 멋집니다.
②CircleCI와 Slack을 연계
CircleCI 관리 화면에서 NOTIFICATIONS > Chat Notifications로 이동하여 방금 검색한 Webhook URL을 붙여넣고 저장합니다.
이제 GitHub에 푸시되면 빌드 결과 등이 자동으로 통지됩니다. (커버리지 리포트는 아직)
③CircleCI 환경 변수 추가
CircleCI 관리 화면에서 BUILD SETTINGS > Environment Variables로 이동하여 다음 환경 변수를 추가합니다.
Key: SLACK_NOTICE_HOOK
Value: 先ほど取得したWebhook URL
④ config.yaml 편집
예를 들면 이런 느낌으로
store_artifacts
되고 있다고 합니다.- store_artifacts:
path: coverage.html
destination: coverage.html
그 직후에 POST 요청할 작업을 추가합니다.
- run:
name: coverage report
command: |
curl -s -S -X POST \
-d "{'channel': '#your_channel', 'username': 'coverage-report', 'text': ':circleci: coverage report: <https://$CIRCLE_BUILD_NUM-000000000-gh.circle-artifacts.com/0/coverage.html|open report :earth_asia: >(build $CIRCLE_BUILD_NUM)' }" \
$SLACK_NOTICE_HOOK >/dev/null
:circleci:
는 slack 측에서 emoji 등록되어 있어야 합니다. emoji는 없어도 괜찮습니다. $CIRCLE_BUILD_NUM
는 CircleCI의 미리 정의된 환경 변수입니다. 특별히 설정할 필요는 없습니다. 000000000
는 프로젝트 별 ID입니다. 커버리지 파일 링크를 열어 URL을 확인합니다. https://$CIRCLE_BUILD_NUM-000000000-gh.circle-artifacts.com/0/coverage.html
는 커버리지 파일을 어떤 경로로 배치하고 있는지에 따라 달라지므로 적절히 수정해 주십시오. SLACK_NOTICE_HOOK
거의 CircleCI의 관리 화면에 등록한 환경 변수입니다. 완성
이런 식으로 통지됩니다.
open report
를 클릭하면 적용 범위 보고서를 볼 수 있습니다.했어!
사이고에게
이것 만들었는데 좋지만 결국 아무도 봐주지 않을 것 같다. . .
필요할 때 쉽게 볼 수 있게 되었다고 해서 좋을까.
참고 자료
Circle CI에서 SimpleCov 커버리지 보고서를 출력하고 출력 결과 링크를 Slack에 알립니다.
Reference
이 문제에 관하여(Slack에서 CircleCI에서 커버리지 보고서 알림을 받는 구성 단계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/gold-kou/items/24a1d68a65d641115b9e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)