Spring 프로젝트에서 /build에서 ./gradlew clean build 하면 /build/libs에 jar 파일 생성jar 파일은 .gitignore에 지정되어있기 때문에 올라가지 않음 그래서 git add -f crud-0.0.1-SNAPSHOT.jar 해서
소스 코드를 압축해 AWS 스토리지에 저장 후 서버에 전달해 실행AWS S3 빌드 파일 압축해서 업로드 → AWS EC2 배포 (CodeDeploy 활용)Github Actions에서 코드 빌드AWS 인증코드 압축해서 AWS S3에 업로드AWS CodeDeploy 실행
인스턴스 생성Ubuntu 20.04 LTS (프리티어 사용 가능) 으로 생성보안 그룹에 HTTP(80), Mysql, HTTPS 추가생성한 인스턴스에 탄력적IP 할당aws의 인스턴스 또는 탄력적 ip 가서 ‘연결’ 버튼 누르면 나오는 ssh 접속 코드 복사해서 터미널
jenkins,Docker,nginx 를 이용한 Blue/Green 방식 무중단 배포EC2 내에 아래와 같은 파일이 존재해야한다.이 파일들은 docker-compose.yaml 의 volumes에 나와있는 사항에 따라 띄워진 docker 내부에서 해당 위치에 복사된다.
로컬 맥북 (M1) 에서 도커 빌드하고 EC2 (amazon linux) 에서 풀 받아서 사용했더니 다음과 같은 에러가 났다. 그럴 땐 build 할 때 플랫폼 설정 태그를 추가해우면 된다!