인프런 커뮤니티 질문&답변

김수빈님의 프로필 이미지

작성한 질문수

따라하며 배우는 도커와 CI환경 [2023.11 업데이트]

Travis CI의 AWS접근을 위한 API 생성

.travis.yml 파일에 대한 질문이 있습니다.

작성

·

305

1

저번에 질문을 남겼는데 다른 강의에 대한 답변을 남겨주셔서 다시 질문 남깁니다.

이 질문은 간단한 어플을 실제로 배포해보기(테스트 & 배포 부분)의  Travis CI의 AWS접근을 위한 API 생성에 대한 질문입니다.

TravisCI에서 이번 강의에서 작성한 .travis.yml 파일을 가지고 aws beanstalk에 배포할 때

.yml 파일에는 Dockerfile.dev를 빌드하고 실행하는 내용만 적혀있는데, 돌아가는 과정을 보면 Dockerfile이 배포가 되는 것 같습니다.

TravisCI에서 Dockerfile은 언제 읽는지 궁금합니다.

답변 3

1

다른 질문들 찾아보다가 이 답변을 해주신걸 확인했습니다.

6 7 강에서는 만드는 앱은 테스트 성공 후 전체 소스를 AWS에서 던져서 EB 안에서 따로 이미지를 만들어서 컨테이너도 생성해서 앱을 실행합니다.  그때 EB는 저희가  플랫폼 설정을 Docker 로 해주기에 Dockerfile을 찾아서 이미지를 알아서 빌드해줍니다. 
그러기에  Dockerfile.dev가 아닌 Dockerfile로 운영환경 배포가 됩니다.  

0

..ㅜㅜ 강의는 너무 좋은데요..

6-7강에서는 after_success 라는 스크립트를 작성하지 않는데요....

올려주신 답변은 8-9강 내용인 것 같아요..

6-7 강의 .travis.yml 전문입니다.

sudo: required

language: generic

services:
- docker

before_install:
- echo "start Creating an image with dockerfile."
- docker build -t livelysb/docker-react-app -f Dockerfile.dev .

script:
- docker run -e CI=true livelysb/docker-react-app npm run test -- --coverage

deploy:
provider: elasticbeanstalk
region: "ap-northeast-2"
app: "docker-react-app"
env: "Dockerreactapp-env"
bucket_name: "elasticbeanstalk-ap-northeast-2-145008581072"
bucket_path: "docker-react-app"
on:
branch: master
access_key_id: $AWS_ACCESS_KEY
secret_access_key: $AWS_SECRET_ACCESS_KEY

0

John Ahn님의 프로필 이미지
John Ahn
지식공유자

안녕하세요 


before_install
:
- docker build -t smileajw1004/react-test-app -f ./frontend/Dockerfile.dev ./frontend
script:
- docker run -e CI=true smileajw1004/react-test-app npm test
after_success:
- docker build -t smileajw1004/docker-frontend ./frontend
- docker build -t smileajw1004/docker-backend ./backend
- docker build -t smileajw1004/docker-nginx ./nginx

여기 보시면 before_install에서   dev 파일을 빌드하지만 

after_success에서는 Dockerfile을 빌드합니다   Dockerfile은 기본 파일이기때문에 
-f ./도커파일 이름을 따로 지정해주지 않아도 됩니다 ~ !  수고하세요 !