운영 배포는 두 가지 방식으로 합니다. main에 머지하면 스테이징에 배포되고, 버전 태그를 push하면 운영에 릴리스됩니다. 지난주 보안 점검 뒤 배포 토큰(DEPLOY_TOKEN)을 저장소 시크릿에서 production 환경(environment) 시크릿으로 옮겼습니다. 그 뒤로 태그 릴리스만 인증 오류로 실패합니다. 누군가 '태그 이벤트에서는 시크릿을 못 읽는다'고 해서 토큰을 다시 저장소 시크릿으로 되돌리자는 의견이 나왔습니다. 스테이징 배포는 같은 토큰으로 매일 잘 되고 있습니다.
브랜치 배포는 되는데 태그 릴리스에서만 배포 토큰이 비어 실패
운영 배포는 두 가지 방식으로 합니다.
시나리오
단서
Run test -n "$DEPLOY_TOKEN" || (echo 'DEPLOY_TOKEN is empty' && exit 1) DEPLOY_TOKEN is empty Error: Process completed with exit code 1.
# deploy.yml (main → staging, production 배포 job)
jobs:
deploy-prod:
environment: production
steps: [...]
# release.yml (tag → prod)
jobs:
release:
runs-on: ubuntu-latest
env:
DEPLOY_TOKEN: ${{ secrets.DEPLOY_TOKEN }}Repository secrets: (없음) Environments › production › secrets: DEPLOY_TOKEN (updated 6 days ago)
과제 원인을 좁히고, 서비스를 되살리는 순서(검증 포함)와 재발 방지책을 적어 보세요.
구독하면 이어서 볼 수 있어요
이 문제의 전체 시나리오와 점검 체크리스트, 복구 순서, 모범 풀이는 Pro 구독에서 열립니다.
먼저 볼 것
- 저장소 시크릿과 환경(environment) 시크릿이 보이는 범위
- 같은 배포인데 워크플로마다 다른 설정
점검 체크리스트
- 시크릿이 저장소·환경 중 어디에 있는지
- 실패한 job에 environment: 가 선언됐는지
- 환경의 배포 브랜치·태그 규칙이 태그를 허용하는지
복구와 재발 방지
같이 보면 좋은 질문
현장에서 본 비슷한 케이스
0/10