본문 바로가기

Tool

[CI/CD] Teamcity 2021.2 설치 및 GitHub 소스빌드 환경구성(윈도우11)

728x90
반응형

 

JetBrains에서 개발한 CI/CD Tool - TeamCity를 설치하고 기본환경을 구성해보자.

제일 유명한 젠킨스도 존재하지만 UI나 빌드환경구성을 경험해 본 바로 TeamCity가 월등히 좋은 것 같다. (아주 개인적인 생각이다.!!)

 

1. https://www.jetbrains.com/teamcity/ 접속 후 설치파일 다운로드

윈도우 환경이니 exe 파일을 다운로드하면 된다. 프로페셔널 버전이 100개의 빌드, 빌드에이전트가 3개까지가 상업용으로 무료이니 엄청좋은 라이센스 정책이다.

경험상 실제 프로젝트에서 사용해보면 많아야 빌드개수가 20~30개정도이니 프로페셔널 버전도 충분하다.

[TeamCity] 설치파일 다운로드

 

2. 설치파일클릭, 라이센스 동의, 설치경로지정

Next

[TeamCity] Setup Wizard

라이센스확인 > I Agree

[TeamCity] License Agreement

설치경로를 지정

[TeamCity] Choose Install Location

 

3. 설치옵션지정, 설치진행

[TeamCity] Choose Components

 

[TeamCity] Installing

접속포트지정 : 8111

[TeamCity] Server Port 설정

빌드 에이전트 속성 확인(환경변수를 추가하려면 Add를 누르면 추가가 가능하다.) > Save

[TeamCity] Configure Build Agent Properties

buildAgent.properties 저장위치가 표시된다.

Run TeamCity Server under the SYSTEM account - 시스템계정을 이용하는 옵션을 지정

[TeamCity] Select Service Account for Server

TeamCity는 2개의 서비스(웹 서비스, Build Agent 서비스)로 구동된다 > Next

[TeamCity] Setup Services

Finish를 클릭하여 설치완료

[TeamCity] Setup Wizard Finish

 

4. 웹UI 접속 후 설정 마무리

URL : http://localhost:8111 접속 > Data Directory 설정(기본값권장) > Proceed

 

[TeamCity] Data Directory Location

Database 유형을 선택, 로컬에 가볍게 쓰기위해 HSQLDB를 선택 > Proceed

DBMS가 설치되어 있다면 해당 DBMS를 선택하여 사용하면 된다.

[TeamCity] 사용할 DBMS 선택

컴포넌트 초기화 진행중...

[TeamCity] 구동중

라이센스 동의 후 Continue

[TeamCity] 라이센스 동의

관리용 계정정보를 입력 후 Create Account

[TeamCity] 관리자 계정 추가

메인화면이 표시되면 설치가 완료된 것이다.

[TeamCity] 메인화면

 

5. 프로젝트 생성 후 GitHub 연결해서 Build 해보기

메인화면 > Create project...

[TeamCity] Create Project

Manually 를 선택 후 정보입력 > Create (여기에서 Manually 는 대분류라고 인식하면 이해하기가 쉽다.)

[TeamCity] Create Project > Manually

New build configuration...

[TeamCity] New build configuration

Form a repository URL - Github의 URL, USername/Password 또는 Tocken을 입력한뒤 Proceed

[TeamCity] 프로젝트 Repository 설정

The connection to the VCS repository has been verified 녹색메세지가 나오면 정상연결 > Proceed

wyleedp > Build > Build Steps > Add build step 버튼 클릭하여 빌드스텝을 추가하자

[TeamCity] Add build step

springboot-runner 프로젝트는 gradle로 구성되어 있기 때문에

  • Runner Type : Gradle
  • Gradle tasks : clean bootWart
  • Gradle build file : build.gradle

으로 작성하고 Save

[TeamCity] Build Step 설정정보입력

해당 Build 화면에 Run 버튼을 클릭하면 Gradle Task가 실행된다.

[TeamCity] Build Step > Run

당연히 실패화면이 표시된다.!!!

[TeamCity] Build Overview

Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain
Caused by: java.lang.ClassNotFoundException: org.gradle.wrapper.GradleWrapperMain
Process exited with code 1

Gradle 설정이 뭔가 잘못된 듯 하다.

 

Build > Edit Configuration > Gradle 설정변경

  • Gradle Wapper : 햬제
  • Gradle home path : %env.GRADLE_HOME% (GRADLE이 설치되어 있고 윈도우 환경변수가 설정되어 있어야 한다.)
  • JDK : JDK 11 x64

[TeamCity] Gradle build 상세설정

Run > Overview 에 Build가 수행되는 것을 확인할 수 있다.

[TeamCity] 빌드중...

해당 Build에 대한 자세한 사항을 확인할 수 있어 대응이 가능하다.

[TeamCity] Build Log

The build is removed from the queue to be prepared for the start
17:23:51 Collecting changes in 1 VCS root
17:23:51 Starting the build on the agent "DESKTOP"
17:23:52 Updating tools for build
17:23:52 Clearing temporary directory: C:\Develop\TeamCity\buildAgent\temp\buildTmp
17:23:52 Using vcs information from agent file: 56089ded4e392bd.xml
17:23:52 Checkout directory: C:\Develop\TeamCity\buildAgent\work\56089ded4e392bd
17:23:52 Updating sources: auto checkout (on agent)
17:23:54 Step 1/1: gradle clean bootWar (Gradle)
17:24:06 Publishing 1 file using [WebPublisher]
17:24:06 Publishing 1 file using [ArtifactsCachePublisher]
17:24:11 Build finished

 

로그에 표시된 C:\Develop\TeamCity\buildAgent\work\56089ded4e392bd\build\libs 경로로 들어가보면 Gradle Task가 정상적으로 수행되서 springboot-runner 웹어플리케이션이 war 파일로 패키징이 된것을 확인할 수 있다.

[TeamCity] BuildAgent Work 폴더

 

 

728x90
반응형