모든 글

GitHub Actions 배포 작업을 단계별로 나눈 이유

빌드와 테스트, 배포 단계를 분리해 실패 지점을 명확하게 만들었습니다.

처음 작성한 workflow는 하나의 job에서 테스트부터 배포까지 모두 처리했습니다. 실행 시간은 짧았지만 실패했을 때 어느 단계가 문제인지 로그를 길게 찾아야 했습니다.

단계 분리

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: ./gradlew test

  deploy:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - run: echo "deploy"

테스트가 성공해야 배포가 시작되도록 의존 관계를 명확히 했습니다. 이후에는 빌드 산출물을 artifact로 전달해 같은 결과물을 검증하고 배포하도록 개선할 수 있습니다.

비밀 값은 workflow에 직접 작성하지 않고 저장소의 secret으로 관리했습니다. 로그에 값이 출력될 수 있는 디버깅 명령도 배포 job에서는 사용하지 않도록 주의했습니다.