devops

GitLab + Teamcity + Docker + AWS CI/CD 구축하기 (1)

jiseok.woo 2022. 8. 1. 12:19
반응형

 




오랜만에 시간적 여유가 생겨 개인적으로 해보고 싶었던 CI/CD 구축을 진행해보려 한다.
개발 프로젝트를 진행할 때 마다 로컬 환경에서 테스트해본 내용과 실제 서버에서 테스트할때 상황이 달라 코드 수정이 빈번하게 있었다.(물론 내잘못이지)
그래서 CI/CD에 관심이 생겼고 코드 커밋시 자동으로 테스트를 수행해주고 개발서버에 빌드를 올려주어 바로 개발서버 환경에서 볼 수 있도록 구성해보고 싶었다.


생각하는 CI/CD 절차는 아래와 같다. 간단하다.

  1. 소스코드 개발 및 Git Repository에 commit
  2. Test 수행 및 Docker Image 생성
  3. 생성된 Docker Image를 Docker Repository에 Push
  4. WAS 서버에서 업데이트된 Docker Image Pull 및 재기동


GitLab은 이전부터 AWS에 구축해 사용중이라 그대로 사용해볼 예정이다.
CI/CD 툴로. 뭘 쓸까 고민을 많이 해봤다.

  • Jenkins : 제일 많이 쓰는 툴이다. 작년인가 테스트용으로 구축해봤는데 UI가 너무 안이뻐서 별로 쓰고싶지 않았다.
  • GitLab-CI : 한번 써봤다. 간단하게 써보기엔 괜찮았건것 같다. 사실 GitLab을 쓰고 있으니 내부적으로 제공해주는 GitLab-CI 기능을 써도 되는데 이번엔 써보고 싶은 툴이 있었으니까 패스.
  • Teamcity : 이쁘다.. 개인적으로 Jetbrains IDE를 즐겨 쓰고 있고 실제로 All Produce Pack을 구독해 사용할 정도로 Jetbrains 툴을 좋아한다. 그래서 이거 쓸거다.



위 내용을 기반으로 인프라를 AWS에 구축할 예정이며 개략적인 구성도는 아래와 같이 생각하고 있다. (하다 잘안되면 바꿀거다.)

CI/CD 인프라 구성도


전체적으로 아래 순서대로 차근차근 진행할거다.

  1. AWS 인스턴스 생성
  2. GitLab 설치
  3. TeamCity Server 설치
  4. TeamCity Agent 설치


AWS 인스턴스 생성은 다음 포스트로

 

 

 

 

2022.08.01 - [devops] - GitLab + Teamcity + Docker + AWS CI/CD 구축하기 (1)

2022.08.01 - [devops] - GitLab + Teamcity + Docker + AWS CI/CD 구축하기 (2) - AWS EC2 구축

2022.08.01 - [devops] - GitLab + Teamcity + Docker + AWS CI/CD 구축하기 (3) - GitLab 설치

2022.08.02 - [devops] - GitLab + Teamcity + Docker + AWS CI/CD 구축하기 (4) - Teamcity 설치

2022.08.05 - [devops] - GitLab + Teamcity + Docker + AWS CI/CD 구축하기 (5) - GitLab Teamcity 연동

2022.08.05 - [devops] - GitLab + Teamcity + Docker + AWS CI/CD 구축하기 (6) - Teamcity 배포 구성

 

 

 

반응형