JetBrains에서 개발한 CI/CD Tool - TeamCity를 설치하고 기본환경을 구성해보자.
제일 유명한 젠킨스도 존재하지만 UI나 빌드환경구성을 경험해 본 바로 TeamCity가 월등히 좋은 것 같다. (아주 개인적인 생각이다.!!)
1. https://www.jetbrains.com/teamcity/ 접속 후 설치파일 다운로드
윈도우 환경이니 exe 파일을 다운로드하면 된다. 프로페셔널 버전이 100개의 빌드, 빌드에이전트가 3개까지가 상업용으로 무료이니 엄청좋은 라이센스 정책이다.
경험상 실제 프로젝트에서 사용해보면 많아야 빌드개수가 20~30개정도이니 프로페셔널 버전도 충분하다.
2. 설치파일클릭, 라이센스 동의, 설치경로지정
Next
라이센스확인 > I Agree
설치경로를 지정
3. 설치옵션지정, 설치진행
접속포트지정 : 8111
빌드 에이전트 속성 확인(환경변수를 추가하려면 Add를 누르면 추가가 가능하다.) > Save
buildAgent.properties 저장위치가 표시된다.
Run TeamCity Server under the SYSTEM account - 시스템계정을 이용하는 옵션을 지정
TeamCity는 2개의 서비스(웹 서비스, Build Agent 서비스)로 구동된다 > Next
Finish를 클릭하여 설치완료
4. 웹UI 접속 후 설정 마무리
URL : http://localhost:8111 접속 > Data Directory 설정(기본값권장) > Proceed
Database 유형을 선택, 로컬에 가볍게 쓰기위해 HSQLDB를 선택 > Proceed
DBMS가 설치되어 있다면 해당 DBMS를 선택하여 사용하면 된다.
컴포넌트 초기화 진행중...
라이센스 동의 후 Continue
관리용 계정정보를 입력 후 Create Account
메인화면이 표시되면 설치가 완료된 것이다.
5. 프로젝트 생성 후 GitHub 연결해서 Build 해보기
메인화면 > Create project...
Manually 를 선택 후 정보입력 > Create (여기에서 Manually 는 대분류라고 인식하면 이해하기가 쉽다.)
New build configuration...
Form a repository URL - Github의 URL, USername/Password 또는 Tocken을 입력한뒤 Proceed
The connection to the VCS repository has been verified 녹색메세지가 나오면 정상연결 > Proceed
wyleedp > Build > Build Steps > Add build step 버튼 클릭하여 빌드스텝을 추가하자
springboot-runner 프로젝트는 gradle로 구성되어 있기 때문에
- Runner Type : Gradle
- Gradle tasks : clean bootWart
- Gradle build file : build.gradle
으로 작성하고 Save
해당 Build 화면에 Run 버튼을 클릭하면 Gradle Task가 실행된다.
당연히 실패화면이 표시된다.!!!
Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMainCaused by: java.lang.ClassNotFoundException: org.gradle.wrapper.GradleWrapperMainProcess exited with code 1
Gradle 설정이 뭔가 잘못된 듯 하다.
Build > Edit Configuration > Gradle 설정변경
- Gradle Wapper : 햬제
- Gradle home path : %env.GRADLE_HOME% (GRADLE이 설치되어 있고 윈도우 환경변수가 설정되어 있어야 한다.)
- JDK : JDK 11 x64
Run > Overview 에 Build가 수행되는 것을 확인할 수 있다.
해당 Build에 대한 자세한 사항을 확인할 수 있어 대응이 가능하다.
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 파일로 패키징이 된것을 확인할 수 있다.
'Tool' 카테고리의 다른 글
STS 및 개발Tool에 JetBrains Mono 폰트적용하기 (0) | 2022.10.21 |
---|---|
[TeamCity] SpringBoot 웹어플리케이션 gradle build시 CustomMessageMissingMethodException 발생 (0) | 2022.04.20 |
젠킨스 LTS 버전을 윈도우10에 설치하는 방법 (0) | 2022.01.21 |
MobaXterm으로 ssh 접속시 export TMOUT=0 명령어 실행하는 방법 (0) | 2022.01.18 |
ARC(AdvancedRestClient) Tool을 이용하여 HTTP(POST) 방식으로 FormData 테스트하는 방법 (0) | 2022.01.06 |