221003 CI/CD

Jongleee·2022년 10월 3일
1

TIL

목록 보기
69/576

1. 풀리퀘스트 신청과 푸쉬가 될때마다 자동배포가 진행되는 현상

원인

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

기존 설정에서 요청시에 사용하도록 되어 있음

해결

on:
  pull_request:
    branches: [ main ]
    types: [closed]

설정을 커스텀하여 풀리퀘스트가 머지된 경우에만 배포를 실행하도록 함

2. 그래들 빌드에 실패하는 경우

원인

테스트 코드가 비어있는 경우에도 test를 실행하고 거기서 성공하지 않아 배포에 실패함

해결

    - name: Build with Gradle
      run: ./gradlew build -x test  

설정을 커스텀하여 test단계를 넘어가도록 함

3. 인스턴스를 변경한 이후 CI/CD가 진행되지 않는 문제 발생

image

원인

CodeDeploy에서 기억하고 있던 생명주기를 찾기 때문에 완전히 새로운 환경에 적용하는 경우 해당 단계에서 에러가 발생함

해결

--ignore-application-stop-failures

설정을 커스텀 하여 CodeDeploy에서 생명주기 실패를 무시하는 설정을 추가

한번만 제대로 실행되면 이후에는 해당 문제가 발생하지 않음

4. 아무 에러가 발생하지 않았음에도 배포에 실패하는 문제 발생

원인

인스턴스 내부에서 CodeDeploy agent가 먹통이 되어 발생한 문제

해결

sudo service codedeploy-agent stop
sudo service codedeploy-agent start

CodeDeploy agent를 재시작하여 해결함

0개의 댓글