[T2] AWS CodeDeploy 기존 실습 때와 같은 문제 발생 중입니다.
Closed this issue · 6 comments
choi3179 commented
- #108
- SpringBoot 프로젝트를 기존 실습처럼 CodeDeploy 환경을 구성중에 같은 문제가 발생하였습니다.
- 기존 문제 해결 방법처럼 인스턴스 스펙을 t2.small로 변경하였습니다.
- 기존 실습과 차이점은 저희는 Maven build 환경을 사용하고 있어 관련 빌드 커맨드와 명령어 실행 위치를 저희 프로젝트 환경에 맞게 조금 수정하여 사용하였습니다. 확인 부탁 드리겠습니다.
- https://github.com/T2-Papillon/Spring/tree/AWSDeploy_v0.1.2/choi
Codedeploy 스크립트 오류 로그
[stdout]#5 extracting sha256:3d6fa00702eb0aa7934afc50cb28145402935b385451bcb6ae891ecc0d4a9b90 0.1s
[stdout]#5 sha256:dc145c2c40b090019607ad8d5618e1026c57507c6622d156be1870fa790a7339 39.85MB / 144.14MB 1.2s
[stdout]#5 sha256:dc145c2c40b090019607ad8d5618e1026c57507c6622d156be1870fa790a7339 57.67MB / 144.14MB 1.4s
[stdout]#5 sha256:dc145c2c40b090019607ad8d5618e1026c57507c6622d156be1870fa790a7339 65.34MB / 144.14MB 1.5s
[stdout]#5 sha256:dc145c2c40b090019607ad8d5618e1026c57507c6622d156be1870fa790a7339 79.69MB / 144.14MB 1.7s
[stdout]#5 sha256:dc145c2c40b090019607ad8d5618e1026c57507c6622d156be1870fa790a7339 101.71MB / 144.14MB 1.9s
[stdout]#5 sha256:dc145c2c40b090019607ad8d5618e1026c57507c6622d156be1870fa790a7339 112.34MB / 144.14MB 2.1s
[stdout]#5 sha256:dc145c2c40b090019607ad8d5618e1026c57507c6622d156be1870fa790a7339 121.63MB / 144.14MB 2.2s
[stdout]#5 sha256:dc145c2c40b090019607ad8d5618e1026c57507c6622d156be1870fa790a7339 139.46MB / 144.14MB 2.4s
[stdout]#5 extracting sha256:3d6fa00702eb0aa7934afc50cb28145402935b385451bcb6ae891ecc0d4a9b90 1.7s done
[stdout]#5 sha256:dc145c2c40b090019607ad8d5618e1026c57507c6622d156be1870fa790a7339 144.14MB / 144.14MB 4.4s done
[stdout]#5 extracting sha256:dc145c2c40b090019607ad8d5618e1026c57507c6622d156be1870fa790a7339 0.1s
[stdout]#5 extracting sha256:dc145c2c40b090019607ad8d5618e1026c57507c6622d156be1870fa790a7339 3.9s done
[stdout]#5 extracting sha256:65413771e18cd2c82e4675596f5160e42af611ff7d9eabbe7621c2d626bd9b6b done
[stdout]#5 extracting sha256:80f39855dd57cb06f224fd5f6e6327f6551e336425c751b77c2f53f11ba7ce94 done
[stdout]#5 DONE 8.6s
[stdout]
[stdout]#6 [rest 2/2] COPY target/*.jar app.jar
[stdout]#6 ERROR: lstat /var/lib/docker/tmp/buildkit-mount3496074400/target: no such file or directory
[stderr]failed to solve: lstat /var/lib/docker/tmp/buildkit-mount3496074400/target: no such file or directory
[stdout]------
[stdout] > [rest 2/2] COPY target/*.jar app.jar:
[stdout]------
appspec.yml
version: 0.0
os: linux
files:
- source: /papplan
destination: /home/ubuntu/app/papplan
overwrite: yes
permissions:
- object: /papplan
pattern: "**"
owner: ubuntu
group: ubuntu
mode: 744
hooks:
AfterInstall:
- location: papplan/stop.sh
timeout: 60
runas: ubuntu
ApplicationStart:
- location: papplan/start.sh
timeout: 60
runas: ubuntu
docker-compose.yml
- DB를 별도 인스턴스로 사용중이므로 기존 실습 코드에서 제외했습니다.
name: papplan
services:
proxy:
image: nginx
volumes:
- ./nginx/conf:/etc/nginx/conf.d
ports:
- "8888:80"
environment:
- NGINX_HOST=localhost
- NGINX_PORT=80
depends_on:
- rest
rest:
build: .
ports:
- 7778:8080
platform: linux/amd64
Dockerfile
FROM eclipse-temurin:17-jdk-alpine
# COPY build/libs/*.jar app.jar
COPY target/*.jar app.jar
ENTRYPOINT ["java","-Dspring.profiles.active=dev","-jar","app.jar"]
pySatellite commented
핵심오류는 아래와 같고 ...
[stdout]#6 [rest 2/2] COPY target/*.jar app.jar
[stdout]#6 ERROR: lstat /var/lib/docker/tmp/buildkit-mount3496074400/target: no such file or directory
choi3179 commented
수정 1
- 인스턴스 안에서 ubuntu owner가 하위 디렉토리에서 모든 파일을 생성하고 실행 파일을 실행할 수 있도록 수정
version: 0.0
os: linux
files:
- source: /papplan
destination: /home/ubuntu/app/papplan
overwrite: yes
permissions:
- object: /
pattern: "**"
owner: ubuntu
group: ubuntu
hooks:
AfterInstall:
- location: papplan/stop.sh
timeout: 60
runas: ubuntu
ApplicationStart:
- location: papplan/start.sh
timeout: 60
runas: ubuntu
choi3179 commented
수정 예정
- gradle wrapper처럼 mvn-wrapper 적용하여 jar 생성이 인스턴스 안에서 필요없도록 수정
- mvn-wrapper 적용
$ mvn -N io.takari:maven:wrapper
- start.sh
#!/usr/bin/env bash
cd /home/ubuntu/app/papplan
# Maven 프로젝트에서 사용할 겨우
./mvnw package
# ./gradlew bootJar
sudo docker compose -f docker-compose.yml up -d
choi3179 commented
- 인스턴스 내부에서 실행할 수 있는 jar 파일을 찾지 못하여 생기는 오류였습니다.
choi3179 commented
추가 고려 사항
- .github/workflows 밑의 설정파일에 히든파일 푸시를 무시하는 옵션이 있으니 오류 발생 시 확인해 보시기 바랍니다
--ignore-hidden-files \
pySatellite commented
해결법 까지 추가해주셔서 감사합니다.