0Pricing
DevOps Bootcamp · 강의

알림 및 경고 설정

다양한 커뮤니케이션 채널을 사용해 파이프라인 실패, 성공 또는 중요한 이벤트에 대한 자동 알림과 경고를 구성합니다.

알림 및 경고 설정은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

파이프라인 알림이 필요한 이유

빠르게 진행되는 개발 환경에서는 CI/CD 파이프라인의 상태를 파악하는 것이 중요합니다. 자동화된 알림을 통해 팀이 중요한 이벤트를 계속 파악할 수 있습니다.

이 레슨에서는 GitHub 작업을 사용해 성공, 실패 및 기타 중요한 파이프라인 이정표에 대한 경고를 설정하는 방법을 살펴봅니다.

기본 제공 GitHub 알림

GitHub는 기본 알림을 기본으로 제공합니다. 저장소를 '관찰 중' 상태로 설정하면 워크플로 실행에 대한 이메일 또는 웹 알림을 받습니다.

  • 성공: 워크플로가 완료되었습니다.
  • 실패: 워크플로가 실패했습니다.
  • 중립: 워크플로가 취소되었습니다.

하지만 이러한 알림은 대개 개인적인 용도에 그치며, 효과적인 CI/CD에 필요한 실시간 팀 전체 소통 기능이 부족합니다.

널리 사용되는 알림 채널

이 격차를 줄이기 위해 GitHub 작업은 다양한 외부 서비스와 통합됩니다. 팀 알림에 흔히 사용하는 채널은 다음과 같습니다.

  • 슬랙: 널리 사용되는 팀 소통 플랫폼입니다.
  • 마이크로소프트 팀즈: 널리 사용되는 또 다른 협업 도구입니다.
  • 이메일: 보다 공식적이거나 긴급하지 않은 알림에 사용합니다.
  • 사용자 지정 웹훅: 거의 모든 서비스와 통합할 수 있습니다.

이를 통해 한곳에서 실시간으로 정보를 갱신할 수 있습니다.

작업과 슬랙 통합

슬랙과 통합하는 것은 즉각적인 파이프라인 업데이트를 받는 일반적인 방법입니다. GitHub 마켓플레이스 작업을 사용하거나 슬랙 웹훅으로 직접 데이터를 보낼 수 있습니다.

마켓플레이스 작업은 HTTP 요청의 세부 처리를 추상화하여 과정을 간소화합니다.

간단한 슬랙 알림 워크플로

다음은 main 브랜치로 푸시할 때마다 슬랙 알림을 보내는 기본 워크플로입니다. 웹훅 주소에 GitHub 비밀을 사용하는 점에 유의하세요.

name: Notify on Push

on: 
  push:
    branches: [ main ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Send Slack Notification
        uses: rtCamp/action-slack-notify@v2
        env:
          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
          SLACK_MESSAGE: "New push to main branch!"
          SLACK_COLOR: "good"

조건부 알림(실패 시)

무언가 잘못된 경우에만 알림을 받고 싶은 경우가 많습니다. GitHub 작업에서는 if: 표현식을 사용해 단계에 조건을 추가할 수 있습니다.

failure() 표현식은 작업의 이전 단계 중 하나라도 실패했는지 확인합니다. 이렇게 하면 소통 채널의 불필요한 알림을 줄일 수 있습니다.

name: Notify on Failure

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: This step will fail
        run: exit 1 # Simulate a failure

      - name: Send Failure Notification to Slack
        if: failure()
        uses: rtCamp/action-slack-notify@v2
        env:
          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
          SLACK_MESSAGE: "Workflow failed on ${{ github.ref }}!"
          SLACK_COLOR: "danger"

사용자 지정 웹훅 경고

전용 GitHub 작업이 없는 서비스에는 일반 웹훅을 사용할 수 있습니다. 이를 위해 특정 주소에 HTTP POST 요청을 보내며, 이때 curl을 사용하는 경우가 많습니다.

이를 통해 사용자 지정 대시보드, 장애 관리 시스템 또는 SMS 게이트웨이와도 통합할 수 있어 유연성이 극대화됩니다.

name: Custom Webhook Alert

on: [workflow_dispatch]

jobs:
  alert:
    runs-on: ubuntu-latest
    steps:
      - name: Send Custom Alert
        run: |
          curl -X POST -H "Content-Type: application/json" \
          -d '{"text":"A custom alert from GitHub Actions!"}' \
          ${{ secrets.CUSTOM_WEBHOOK_URL }}
        env:
          CUSTOM_WEBHOOK_URL: ${{ secrets.CUSTOM_WEBHOOK_URL }}

알림 범위 필터링

파이프라인의 각 부분마다 다른 팀에 알림을 보내고 싶을 수 있습니다. 다음을 기준으로 알림을 필터링하는 if: 조건을 사용할 수 있습니다.

  • 브랜치: github.ref == 'refs/heads/main'
  • 작업 상태: always(), success(), failure(), cancelled()
  • 특정 단계: 특정 단계의 결과를 확인합니다.

이렇게 하면 관련 있는 경고만 적절한 담당자에게 전달됩니다.

알림 비밀 보호

웹훅 주소와 알림 서비스의 API 토큰은 민감한 정보입니다. 워크플로 파일에 직접 하드코딩해서는 절대로 안 됩니다.

항상 GitHub 비밀로 저장하세요. 이러한 값은 암호화되며 워크플로 실행 중에만 실행기에 노출되므로 자격 증명을 안전하게 보호할 수 있습니다.

알림 확인

코드를 빌드하고 테스트하는 워크플로를 생각해 보세요. 빌드 또는 테스트 단계가 실패한 경우에만(ONLY) 슬랙 알림을 받고 싶습니다.

이를 위해 슬랙 알림 단계에 어떤 if: 조건을 사용해야 할까요?

복습: 알림 및 경고

GitHub 작업 파이프라인에 자동화된 알림과 경고를 설정하는 방법을 배웠습니다. 핵심 내용은 다음과 같습니다.

  • 팀 전체에 알림을 보내려면 슬랙이나 웹훅 같은 외부 서비스를 사용합니다.
  • 마켓플레이스 작업을 사용하면 인기 서비스와의 통합을 간소화할 수 있습니다.
  • 대상에 맞는 알림을 보내려면 if: 조건(예: failure())을 적용합니다.
  • 민감한 웹훅 주소와 토큰은 항상 GitHub 비밀을 사용해 보호합니다.

효과적인 경고 체계를 통해 팀이 파이프라인 상태를 적극적으로 관리할 수 있습니다!

자주 묻는 질문

“알림 및 경고 설정” 강의는 무료인가요?

네 — “알림 및 경고 설정” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

“알림 및 경고 설정”에서 뭘 배우나요?

다양한 커뮤니케이션 채널을 사용해 파이프라인 실패, 성공 또는 중요한 이벤트에 대한 자동 알림과 경고를 구성합니다. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“알림 및 경고 설정” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 파이프라인 모니터링 전략
  2. 외부 서비스 통합
  3. 알림 및 경고 설정
  4. 구조화된 로깅 및 분산 추적
← DevOps Bootcamp(으)로 돌아가기