작성
·
177
0
9강 travis.yml 파일작성하기에서의 문의 입니다.
before_install: 에서 image 빌드를 하는데, ./frontend/Dockerfile.dev를 참고하도록 되어 있습니다.
script: 에서 docker를 run을 해주는데요,
이 이미지로 도커를 실행하여 npm run test를 합니다.
after_success: 에서 다시
./frontend Dockerfile 로 docker-frontend 이름으로 이미지를 다시 만드는데요,
./frontend 디렉토리 안에서 Dockerfile과 Dockerfile.dev를 구분해서 만들고,
before_install:에서 만드는 이미지와 after_success:에서 만드는 도커 이미지를 다르게 이름을 가져가야할 필요가 있는 지,
있다면 그 이유를 알고 싶습니다.
travis-ci에서 docker-front 이미지가 만들어지지 않아서 문의 드립니다.
[front-end 이미지 생성안되는 로그]
$ docker build --no-cache --pull -t travisci123/docker-frontend ./frontend
unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /home/travis/build/travisci123/docker-multi-app-101/frontend/Dockerfile: no such file or directory
[befor_install: 부터 script:까지 로그]
0.00s$ echo "start creating an image with dockerfile"
before_install.2
70.74s$ docker build -t travisci123/react-multi-app-101 -f ./frontend/Dockerfile.dev ./frontend
before_install.3
0.00s$ echo "start creating an image with dockerfile"
before_install.4
67.20s$ docker build --no-cache --pull -t travisci123/react-multi-app-101 -f ./frontend/Dockerfile.dev ./frontend
3.42s$ docker run -e CI=true travisci123/react-multi-app-101 npm run test
> frontend@0.1.0 test
> react-scripts test
PASS src/App.test.js
✓ renders learn react link (2 ms)
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 1.61 s
Ran all test suites.
The command "docker run -e CI=true travisci123/react-multi-app-101 npm run test" exited with 0.
3.42s$ docker run -e CI=true travisci123/react-multi-app-101 npm run test
> frontend@0.1.0 test
> react-scripts test
PASS src/App.test.js
✓ renders learn react link (1 ms)
$ docker build --no-cache --pull -t travisci123/docker-frontend ./frontend
unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /home/travis/build/travisci123/docker-multi-app-101/frontend/Dockerfile: no such file or directory
답변 1
0
안녕하세요 ~
Dockerfile 이 다르기 때문에 이미지 이름이 다를수밖에 없습니다 ~
before_install 에서는 Dockerfile.dev 를 사용하고 after_success에서는 Dockerfile을 사용합니다.
그러기에 두개의 이름을 다르게 하는것은 맞습니다.
에러로그를 보니깐 dockerfile이 없다고 하는데 혹시 dockerfile이 생략되었나요?!
안녕하세요.
이미지가 생성안되던 문제는 며칠전에 해결을 했었습니다.
Dockerfile이 있긴 했는데,
처음 commit 했을 때 파일명에 F가 대문자였고, 그래서 소문자로 파일명을 변경해서 다시 commit-> push 했는데도,
실제 aws beanstalk에서는 파일을 못찾는 문제가 있더라구요.
그래서 파일을 삭제하고 commit->push하고, 다시 파일 생성해서 commit->push해서 이미지가 생성되지 않는 문제는 해결을 했습니다.
before_install: 에서 image 빌드를 하는데, ./frontend/Dockerfile.dev를 참고하도록 되어 있고,
script: 에서 docker를 run을 해주는데요,
이 이미지로 도커를 실행하여 npm run test를 하는데 이건 travis-ci 에서 이미지로 컨테이너 생성하여 컨터이너 동작이 정상실행되는 지를 테스트하는 목적으로 넣어준 코드라고 보면 될까요?
추가로,
travis-ci를 통해 AWS ECS에 배포하는 방법에 대해서 혹시 아시는 부분이 있다면 대략의 방향에 대해서 알려 주시면 감사하겠습니다((혹은 참고할 수 있을만한 곳 알려주셔도 감사하겠습니다)
travis-ci를 이용하지 않는 방법이어도 괜찮습니다.
감사합니다.