CodeDeploy 배포 중 생긴 문제!
[stdout]#6 [backend 2/2] COPY build/libs/*.jar /app.jar
[stdout]#6 ERROR: lstat /var/lib/docker/tmp/buildkit-mount4102538440/build/libs: no such file or directory
문제 원인 : Dockerfile의 COPY 부분에 없는 파일을 복사하고자 할때 발생
# 이전 도커파일
FROM openjdk:17-jdk
ARG JAR_FILE=build/libs/*.jar
COPY ${JAR_FILE} /app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
build/libs/*.jar 위치에 jar 파일이 생성되므로 위와 같이 JAR_FILE을 지정했는데 파일을 찾지 못 했다 ,, !
이것은 github actions에서 빌드 파일을 zip 파일로 묶어 S3에 업로드해 CodeDeploy로 배포하는 과정을 거치는데, CodeDeploy가 배포하는 과정에서 Dockerfile을 실행할 때 build/libs/에는 해당 파일이 없어서 그런 거 같다는 예상을 한다!
따라서 Dockerfile을 다음과 같이 변경해 주었다.
# 이후 도커파일
FROM openjdk:17
ARG JAR_FILE=connectdog-0.0.1-SNAPSHOT.jar
COPY $JAR_FILE app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
'AWS, CI&CD' 카테고리의 다른 글
Github Actions + S3 + Code Deploy + Docker + Nginx을 활용한 무중단 자동 배포 환경 구축 (Blue/Green) (0) | 2023.12.18 |
---|---|
EC2 RDS 연결 (0) | 2023.10.01 |
AWS + Docker + Github Actions를 이용한 CI/CD (0) | 2023.07.25 |