도커환경에서 만든 이미지를 travis.yml파일로 테스트 하고배포하기
sudo: required
language: generic
services:
- docker
before_install:
-echo "I will start."
-docker build -t gusxoqkqh1/docker-react -f Dockerfile.dev .
script:
- docker run -e CI=true gusxoqkqh1/docker-react npm run test -- --coverage
after_success:
-echo "Test Success"
.travis.yml
sudo: required
language: generic
services:
- docker
before_install:
- echo "start creating an image with dockerfile"
- docker build -t gusxoqkqh1/docker-react -f Dockerfile.dev .
script:
- docker run -e CI=true gusxoqkqh1/docker-react npm run test -- --coverage
after_success:
- echo "Test success"
(base) hongtae@user:~/바탕화면/docker-react$ git add .
(base) hongtae@user:~/바탕화면/docker-react$ git commit -m "travis.yml file added"
[master 88dd728] travis.yml file added
1 file changed, 17 insertions(+)
create mode 100644 .travis.yml
(base) hongtae@user:~/바탕화면/docker-react$ git push origin master
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 469 bytes | 469.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/gusxoqkqh1/docker1.git
cb35ca4..88dd728 master -> master
travis ci 에서 귀신같이 받아와서 자동으로 뭔가를 진행하고 있따
친절하게도 찍어준다
다시 수정 후 git add , commit, push 을 하면
travis에서 다시 .travis.yml 코드를 가져와 테스트를 진행한다
-- --coverage 덕분에 255 라인 밑부터 자세하게 검사를 해주는것이다.
테스트 성공했으니 AWS 배포할 차례!
Elaxtic BeanStalk
엘라스틴 빈스탁 환경안에 EC2 나 디비나 많은것을 넣어두고 컨트롤 해준다
장고를 ec2에 해두 되지만 우리는 빈스탁에 넣고 배포 할 예정
create Application
리눅스 2는 에러가 발생한덴다
docker
어플리케이션 생성
완성
브라우저에서 요청을 보낼 때 로드밸런스로 가는데
빈스탁 안에 들어가
트래픽이 많아 EC2 하나로 요청을 못 처리하는 상황이라면
배포부분이 추가된 travis 설정 코드
.travis.yml
sudo: required
language: generic
services:
- docker
before_install:
-echo "start Creating an image with dockerfile"
- docker build -t gusxoqkqh1/docker-react -f Dockerfile.dev .
script:
- docker run -e CI=true gusxoqkqh1/docker-react npm run test -- --coverage
deploy:
provider: elasticbeanstalk
region: "ap-northeast-2"
app: "docker-react"
env: "Dockerreact-env"
bucket_name: elasticbeanstalk-ap-northeast-2-160156176918
bucket_path: "docker-react"
on:
branch: master
s3 가 버킷이 자동으로 생성됨 ci로 검증이 끝난것을 압축하여 S3 버켓에 보내게 된다