본문 바로가기
Skills/DevOps

#4(최종) AWS Elastic Beanstalk 기반 CI/CD 블루그린 배포 - 설정 파일 작동 원리

by Hoseok 2023. 5. 23.
728x90
반응형

 

 

 

설정 파일 작동 원리

 

Elastic Beanstalk은 배포 파일을 전달 받으면,

 

각종 설정 파일들을 실행하고 나서, 애플리케이션 실행 단계를 거치게 된다.

 

이때, Elastic Beanstalk이 배포 애플리케이션을 실행한다는 것의 의미는,

 

Procfile 파일을 실행하는 것이다.

 

그래서 Procfile 안에는 .ebextensions 파일에 /sbin/appstart 스크립트를 실행하는 코드만이 담겨져 있다.

 

 

* Procfile

springapp: appstart

 

 

* .ebextensions/00-makeFiles.config

files:
    "/sbin/appstart":
        mode: "000755"
        owner: webapp
        group: webapp
        content: |
            #!/usr/bin/env bash
            JAR_PATH=/var/app/current/application.jar

            # run app
            java -Dspring.profiles.active=prod -Dfile.encoding=UTF-8 -jar $JAR_PATH

 

Elastic Beanstalk 같은 경우, 자동으로 대부분의 시스템을 처리해주기 때문에 커스텀을 하기 위해서는,

 

.ebextensions 디렉토리에 사용자가 실행하고자 하는 명령어를 스크립트로 작성하여 커스텀할 수 있다.

 

/sbin 아래에 appstart 스크립트를 배치하여 전역에서 실행 가능하게 해준다.

 

755 권한, webapp 사용자로 content를 실행하게 된다.

 

#!/usr/bin/env은 절대경로에 상관 없이 인터프리터의 위치를 찾아서 실행해준다는 의미이다.

 

 

최종 배포 순서 정리

 

1. Github Actions가 deploy.yml 파일 실행, deploy.zip 파일 생성

2. Elastic Beanstalk에 deploy.zip 파일 전달

3. Procfile 실행

4. /sbin/appstart 스크립트 실행

5. application.jar 파일 실행

 

 

 

 

  

728x90
반응형