본문 바로가기

웹 프로그래밍/스프링

Gitlab에서 CI-CD 자동화 하기

  1. 배포용 서버에 도커 & 도커 Compose 설치
  2. MSA 서버마다 이미지를 만들수 있게 도커파일을 각각 작성
  3. 도커 Compose를 이용해서 MSA 이미지를 동시에 실행가능
  4. 유레카 서버가 먼저 실행되기까지 기다리기위한 헬스체크를 도커 Compose 파일에 설정
  5. 여기까지 완료하면 docker-compose up -d 명령어로 하나로 수동 배포가 가능
  6. CI-CD 자동화를 위해 .gitlab-ci.yml을 실행시켜줄 서버가 필요 (현재 실행중)
  7. 새로운 서버에 Gitlab-runner를 설치 (현재 공유 러너가 설치됐으므로 설치할 필요없음)
  8. 프로젝트 루트 폴더에 .gitlab-ci.yml을 작성
  9. main 브랜치에 푸쉬됐을때 동작하도록 트리거를 yml에 설정
  10. 트리거되면 yml 파일에서 MSA 서버 각각 새롭게 도커 이미지를 생성하고 -> 도커 허브(저장소)에 push & pull -> 배포 서버에서 도커 Compose로 다시 배포하도록 작성
  11. Gitlab CI-CD 탭에서 pipelines로 러너 실행 확인

Flow Chart