Github 작업 실패 시 Slack 알림 보내기
2864 단어 automationslackgithubactions

귀하와 귀하의 팀이 Github를 사용한다면 Github Actions도 사용해야 합니다. Github Action이 실패하면 Github에서 이벤트에 대한 이메일을 자동으로 보냅니다. 개별 프로젝트에서 작업하는 경우에만 작동합니다. 그러나 팀으로 작업할 때는 Github 작업을 모니터링할 수 있는 더 나은 방법이 필요합니다. 개발 팀이 가능한 한 빨리 조치를 취할 수 있도록 Github 작업이 실패할 때 구체적으로 Github 작업의 상태를 알아야 합니다.
우리는 작업 공간에서 이 문제에 자주 직면했습니다. 그래서 우리 팀은 Github Action이 실패할 때마다 Slack 채널에 효과적으로 알리는 데 사용할 수 있는 새로운 Github Action을 게시하기로 결정했습니다.
내용물
1. 웹훅 URL 받기
Slack 채널에 알림을 보내려면 Slack 앱을 만들어야 합니다. 자체 Slack 앱을 만들고 웹후크 URL을 얻는 방법에 대한 팁이 포함된 이 문서easy tutorial를 따를 수 있습니다. Webhook URL이 있으면 이름이 ACTION_MONITORING_SLACK인 Github Actions 비밀에 추가해야 합니다.
2. notify-slack-action 사용
자주 실패하는 Github Action이 이미 있고 이를 모니터링해야 한다고 가정합니다. Github 작업 워크플로에서 위의 다음 단계를 추가합니다.
- name: Report Status
if: always()
uses: ravsamhq/notify-slack-action@master
with:
status: ${{ job.status }}
notify_when: 'failure'
env:
SLACK_WEBHOOK_URL: ${{ secrets.ACTION_MONITORING_SLACK }}
작업에 대한 자세한 내용은 Github Marketplace에서 찾을 수 있습니다.
그게 다야. 이것이 Github Actions 워크플로우를 모니터링하는 데 필요한 전부입니다. 성공하더라도 Github Action 워크플로의 각 실행을 모니터링하려면 notify_when 매개변수 값을 성공, 실패, 경고로 변경하기만 하면 됩니다.
결과
우리는 Github Actions 모니터링을 테스트하기 위해 의도적으로 Github Action에 실패할 것입니다.


괜찮은! 실패한 커밋 및 리포지토리를 알리는 알림 메시지가 Slack 채널로 전송된 것을 볼 수 있습니다. 이는 Github Actions를 사용하는 여러 프로젝트가 있고 Github Actions 워크플로를 계속 확인하고 싶을 때 매우 유용합니다.
우리는 이 조치가 모든 작업 공간에서 모든 팀의 생산성을 높일 것이라고 확신합니다. 우리 팀에 대한 의심이나 감사가 있으면 아래 의견에 알려주십시오.
Reference
이 문제에 관하여(Github 작업 실패 시 Slack 알림 보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ravgeetdhillon/send-slack-notification-when-github-actions-fails-1ba6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)