티스토리 뷰
🌈 어제 한 일
-
docker를 이용한 개발환경 구축 prototype(reverse proxy + client server + api server + db server)
-
travis를 이용한 CI flow 파악(build - test - deploy)
🌈 할 일
-
travis CI와 docker hub에 docker image 배포를 통한 CI/CD flow prototyping
-
travis로 코드 test
-
travis로 docker hub에 image push
-
-
docker와 travis에 대한 기술 공유 글 작성하기
⚡️ 우리 프로젝트에 적용할 효율적인 CI/CD 전략에 관한 고민 (1) - 전반적인 흐름
-
한눈에 알아 볼 수 있도록 흐름을 그림으로 그려보자!
-
개발자가 github repository에 자신이 작성한 코드에 대한 pull request를 보냄
-
github에서 Travis CI server로 코드를 전송(Continuous Integration)
-
작성되어있는 .travis.yml 파일의 내용으로 build와 test를 진행
-
-
테스트가 성공적으로 수행되면 docker hub에 변경된 내용을 기반으로 다시 만들어진 docker image를 push
-
image를 push 한 후, 실제 가동 중인 서버에 배포(ssh 접속)
⚡️ 우리 프로젝트에 적용할 효율적인 CI/CD에 관한 고민 (2) - 우리 프로젝트에서 반영되어야 할 것
-
일반적인 프로젝트와는 달리 우리 팀은 하나의 repository에서 최소 6개의 서비스가 관리될 예정임.
-
CI 작업을 진행 한 후 변경사항이 일어난 서비스만 docker hub에 이미지를 다시 빌드하고 해당 서버에만 배포를 하면 쓸모 없는 작업을 줄이므로 시간 단축이 가능할 것 같음.
-
변경사항이 일어난 서비스에 한해서만 build를 진행하는 script를 따로 작성하여 배포를 진행하여야 하는지?(방법이 가늠이 안간다)
-
자료조사!
⚡️ 우리 프로젝트에 적용할 효율적인 CI/CD에 관한 고민 (3) - travis 환경변수 이용
-
PR을 날린 브랜치를 검사하여 특정 브랜치에 해당하는 디렉토리의 dockerfile만 배포할 수 있지 않을까?
-
travis에서 제공하는 환경변수 목록을 보고 제공하는지 확인해봄
-
직접적으로 제공하는 것은 없는 것 같고 조작해서 사용할 수 는 있음 => 링크
-
travis의 내부 동작을 알면 더 잘 이해할 수 있을 것으로 생각.
-
일단 프로토타입을 완성해보고 공부하자!
⚡ Dockerhub에서 image 관리
-
DockerHub에 image 배포하는 명령어
# dockerfile이 있는 디렉토리로 일단 이동
docker build --tag {계정이름}/{이미지이름}:{태그} .
docker push {계정이름}/{이미지이름}:{태그}
-
travis CI를 진행하면서 ssh요청으로 물리 서버에 docker container 재빌드(배포)를 실행하도록 할 수 있음
-
하지만 travis CI는 우리가 운영하는 서버가 아닌 서드파티 서비스임. 즉, 보안상 좋지 않다.
-
그렇다면 기존에 존재하는 서비스를 이용하거나 배포를 담당하는 서버를 만들면 해결 가능.
⚡️ CD(Continuous Deployment) 작업에서 travis에서 ssh로 서버에 직접 접속하는 것에 대한 문제
-
이미 많은 자료가 있다! 일단 돌아가게 한 뒤 최적화하는 방식으로 해보자.
⚡ [ 심화 ] Docker image 크기 줄이기
-
이미 많은 자료가 있다! 일단 돌아가게 한 뒤 최적화하는 방식으로 해보자.
⚡️ CD(Continuous Deployment) 작업에서 travis에서 ssh로 서버에 직접 접속하는 것에 대한 문제
-
travis CI를 진행하면서 ssh요청으로 물리 서버에 docker container 재빌드(배포)를 실행하도록 할 수 있음
-
하지만 travis CI는 우리가 운영하는 서버가 아닌 서드파티 서비스임. 즉, 보안상 좋지 않다.
-
그렇다면 기존에 존재하는 서비스를 이용하거나 배포를 담당하는 서버를 만들면 해결 가능.
'회고' 카테고리의 다른 글
[2019.12.31] 1년 회고 (5) | 2019.12.31 |
---|---|
[오늘 하루 회고] 2019-11-11 (0) | 2019.11.12 |
[TIL] 19.09.04 (0) | 2019.09.05 |
[TIL] 19.08.28 (2) | 2019.08.29 |
[TIL] 19.08.25 (0) | 2019.08.26 |