잡동사니

[Jenkins] CI(Continous Integration) 환경 구성하기 본문

IT/소프트웨어 공학

[Jenkins] CI(Continous Integration) 환경 구성하기

yeTi 2019. 5. 28. 16:26

안녕하세요. yeTi입니다.

오늘은 Jenkins를 활용하여 CI(Continous Integration) 환경을 구성해보겠습니다.

 

설치 환경

 

개략적인 흐름은 다음과 같습니다.

<그림 1> CI 구성도

<그림 1>의 흐름은 다음과 같습니다.

  1. 개발자는 소스를 Git에 push 한다.
  2. Git은 hook을 하여 Jenkins에 빌드 시작을 알린다.
  3. Jenkins는 소스를 빌드하고 테스트한 후 성공시 WAR를 생성한다.
  4. Jenkins는 Slack으로 빌드 결과, 테스트 결과, Commit log를 알린다.

 

1. Git 연결

Repositories에 Git 서버 정보를 설정하고 빌드할 branch를 설정합니다.

<그림 2> Git정보 설정

 

2. Git hooks 설정

Git에서 접근할 Authentication Token을 설정하고 Git에 post-receive hook을 설정합니다.

<그림 3> Git에서 접근할 토큰 생성

Git 서버에 post-receive를 설정합니다.

(경로 예시 : C:\inetpub\wwwroot\git\App_Data\Repositories\BackEnd_Member\hooks)

#!/bin/sh
echo Notifying Jenkins Server - API Server, Develop branch

while read oldrev newrev refname
do
   branch=$(git rev-parse --symbolic --abbrev-ref $refname)
   if [ "develop" == "$branch" ]; then
      c:/curl-7.64.1-win64-mingw/bin/curl --user admin:fnqlr2018! -s "http://localhost:10101/job/CI-APIServer(develop)/build?token=[Authentication Token]"
   fi
done

 

3. Build 환경 설정

소스를 빌드할 환경을 설정합니다.

<그림 4> Build 환경 설정

 

4. Slack 설정

Slack을 활용하여 성공과 실패에 대한 알림을 받도록 하고

Test 결과 및 Commit log를 받도록 설정합니다.

<그림 5> Slack 설정

 

5. Git 서버의 develop branch에 push하면 다음과 같이 Slack의 알림을 받을 수 있습니다.

 

관련 글

 

[Jenkins] 배포서버를 선택하여 빌드하기

안녕하세요. yeTi입니다. 오늘은 Jenkins에서 배포서버를 선택하여 배포하는 설정에 대해 알아보겠습니다. 이전 글 2018/11/26 - [분류 전체보기] - [Jenkins] SVN 연결하기 2018/11/26 - [IT/소프트웨어 공학] -..

yeti.tistory.com

Comments