
GitHub Actions의 장점 중 하나는 다른 사람들이 공유한 Action을 가져와서 사용할 수 있다는 점이다.
나는 CD 과정이 진행되면 해당 워크플로우의 진행 상태와 성공 여부를 확인할 수 있게 Slack 채널에 알림을 보낼려고 한다.
그래서 이와 같은 기능을 담은 Gamesight/slack-workflow-status 라는 Action을 사용할 것이다.
원하는 Slack Workspace에서 Incomming Webhooks 앱을 추가해주자.

알림을 보낼려는 채널을 설정하고, 나머지 설정들은 워크플로우마다 커스텀할 수 있기 때문에 기본값으로 설정했다.
그리고 Webhook URL은 미리 복사해두자.

위에서 Slack 알림을 위한 준비 과정을 마쳤으니, 워크플로우를 설정할 차례다.
if: always() 옵션을 붙였다.read 권한이 필수적이기 때문에, 권한 설정을 명시적으로 했다.(배포 부분 생략)
slack-workflow-status:
if: always()
runs-on: ubuntu-latest
needs:
- build
- deploy
permissions:
actions: read
steps:
- name: Workflow 결과 Slack에 알림
uses: Gamesight/slack-workflow-status@master
with:
repo_token: ${{secrets.GIT_TOKEN}}
slack_webhook_url: ${{secrets.SLACK_WEBHOOK_URL}}
name: "Signal-Buddy Workflow Bot"
icon_url: "https://github.githubassets.com/assets/GitHub-Mark-ea2971cee799.png"
repo_token : 적용하는 GitHub Repository의 접근 및 워크플로우 실행 권한을 가진 GitHub Tokenslack_webhook_url : 위에서 미리 복사해둔 Slack Webhook URLname : 알림을 해주는 사용자 이름icon_url : 알림을 해주는 사용자의 프로필 사진의 URL (나는 GitHub 아이콘 URL로 설정)위 옵션을 제외한 더 자세한 사항은 밑에 GitHub 링크를 참고하면 된다.
각 Job의 성공 여부를 알 수 있고, 해당 워크플로우의 상세 내역을 바로 확인할 수 있게 링크가 연결되어 있어 매우 편리하다!

GitHub Actions는 다양한 Action을 공유할 수 있다는 점이 큰 장점 중 하나라고 생각된다. 아직까지는 다른 사람들이 만들어둔 것들을 활용하기만 했다면, 다음번에는 직접 코드를 작성하여 나만의 Action을 만들어 볼 생각이다.