Github Actions를 이용하여 CI를 진행하고 이에 대한 결과를 Slack으로 알릴 수 있게 해보았다.

GitHub Actions

GitHub에서 제공되는 CI/CD 서비스이다. 레파지토리에서 어떤 이벤트가 발생했을 때 특정한 작업이 일어나도록 하거나 주기적으로 작업을 반복하도록 설정할 수 있다.


사용 예시

.github/workflows/gradle-ci.yml

name: Spring Boot & Gradle CI/CD

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v3
    - name: Set up JDK 17
      uses: actions/setup-java@v3
      with:
        java-version: '17'
        distribution: 'temurin'
    - name: Grant execute permission for gradlew
      run: chmod +x gradlew
    - name: Build with Gradle
      run: ./gradlew clean build --stacktrace
      
    - name: action-slack
      uses: 8398a7/action-slack@v3
      with:
        status: ${{ job.status }}
        author_name: CI Practice
        fields: repo,message,commit,author,action,eventName,ref,workflow,job,took
      env:
        SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
      if: always()

Workflows

on

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs