Github Actions 실패 시 이메일 알림 보내기

우리는 최근 github 작업이 실패할 때 slack 알림을 보내는 방법에 대한 블로그를 게시했습니다. 오픈 소스 커뮤니티에서 좋은 반응을 얻었습니다. 커뮤니티 회원 중 일부는 Github 작업이 실패할 때 이메일 알림을 보내는 방법에 대해 질문했습니다. 따라서 요청을 받아들이기 위해 오늘 우리는 이 목적을 달성할 수 있는 워크플로우를 구축할 수 있는 방법을 살펴보겠습니다.

Github에는 기본적으로 Github Action이 실패할 때 이메일을 보내는 기능이 있습니다. 개별 프로젝트에서 작업할 때 효율적으로 작동합니다. 그러나 팀에서 작업할 때 워크플로의 실패 가능성에 대해 두 명 이상의 팀원에게 알리고 싶은 경우가 많습니다.
  • 샘플 작업 과정 생성
  • 이메일 보내기 작업 추가
  • 결과

  • 1. 샘플 워크플로 만들기



    악명 높은 Hello World를 인쇄하는 간단한 워크플로를 작성해 보겠습니다. .github/workflows 디렉터리에 새 파일 build.yml을 만들고 다음을 추가합니다.

    name: Build
    
    on:
      push:
        branches: main
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v2
          - name: Hello World
            run: echo Hello, world!
    


    Github 작업이 성공적으로 실행됨

    2. 이메일 보내기 액션 추가



    Dawid Dziurla은 이메일 전송과 관련된 많은 측면을 구성할 수 있는 Github 작업을 게시했습니다. 워크플로에 아래 단계를 추가하기만 하면 됩니다.

    - name: Send mail
      if: always()
      uses: dawidd6/action-send-mail@v2
      with:
        # mail server settings
        server_address: smtp.gmail.com
        server_port: 465
        # user credentials
        username: ${{ secrets.EMAIL_USERNAME }}
        password: ${{ secrets.EMAIL_PASSWORD }}
        # email subject
        subject: ${{ github.job }} job of ${{ github.repository }} has ${{ job.status }}
        # email body as text
        body: ${{ github.job }} job in worflow ${{ github.workflow }} of ${{ github.repository }} has ${{ job.status }}
        # comma-separated string, send email to
        to: [email protected],[email protected]
        # from email name
        from: John Doe
    


    Use echo "${{ toJson(github) }}" to get more workflow context variables.



    if: always() 지시문은 이전 단계가 성공적으로 실행되었는지 여부에 관계없이 항상 이 단계를 실행하도록 Github Actions에 지시합니다. 워크플로의 컨텍스트 변수를 사용하여 이메일 제목과 본문을 작성합니다. 작업 비밀로 사용자 이름과 암호를 추가하는 것을 잊지 마십시오.

    Make sure to use App-Specific password for the above action. Learn how to create an app-specific password for GMail.



    결과



    사용 중인 액션을 테스트하기 전에 의도적으로 액션을 실패시키도록 합시다. 우리가 해야 할 일은 Hello World 단계의 실행 명령을 업데이트하여 Hello, world! && exit 1. exit 1은 일종의 오류가 발생했음을 Github Actions에 알리는 종료 상태를 1로 설정합니다. 코드를 푸시하고 무슨 일이 일어나는지 봅시다.

    Github 작업 워크플로가 의도적으로 실패했습니다.

    위의 스크린샷에서 이전 단계가 실패했지만 메일 보내기 단계가 실행되었음을 알 수 있습니다. 받은 편지함에서 실패에 대한 이메일을 확인하겠습니다.

    실패한 Github 작업에 대한 이메일 알림이 전송됨

    달콤한! 수신자에게 이메일 알림이 전송되었음을 알 수 있습니다. 제목과 본문은 적절한 저장소와 작업 흐름으로 채워졌습니다.

    Github Actions는 훌륭한 CI/CD 도구입니다. 올바른 작업을 사용하여 모든 작업 공간에서 팀 생산성을 높이는 데 도움이 되는 워크플로우를 구축할 수 있습니다. 우리 팀에 대한 의심이나 감사가 있으면 아래 의견에 알려주십시오.

    회사 소개



    우리는 전 세계 기업이 자동화 기술을 설정하여 생산성을 높이고 인적 오류를 제거하도록 돕고 있습니다. 당사의 자동화 소프트웨어 개발 서비스에 대해 자세히 알아보려면 당사에 연락하십시오.

    웹 디자인, 웹 개발, 모바일 앱 개발, 소프트웨어 개발 및 자동화 서비스를 제공합니다. 우리는 인도에서 가장 빠르게 성장하는 회사 중 하나로 평가되었습니다. 열정과 기술력을 바탕으로 한 고객 중심의 서비스로 억대 매출을 올릴 수 있었습니다. 우리는 항상 훌륭한 아이디어를 기대하고 있습니다. an application development company 을(를) 찾고 계시다면 언제든지 저희 팀에 연락하실 수 있습니다.

    좋은 웹페이지 즐겨찾기