Jenkins 서비스 사용자 가이드
Table of Contents
1. 문서 개요
1.1. 목적
본 문서는 Jenkins 서비스를 사용할 사용자의 사용 방법에 대해 기술하였다.
1.2. 범위
본 문서는 Jenkins 서비스를 사용할 사용자의 CF 빌드 및 배포, Kubernetes & Docker 빌드 및 배포에 관해서 작성되어 있다. 배포 종류로는 일반 배포, Blue & Green 배포, Rolling배포에 대해서도 작성되어 있다.
2.Jenkins 서비스 생성
2.1 사용자 포털 계정 생성 및 로그인
※ PaaS-TA 사용자 포탈 계정 생성 가이드
2.2 Jenkis 서비스 생성 및 접속
사용자 포탈 – 카탈로그 페이지에서, Jenkins서비스를 선택한다.

서비스 이름을 입력 후 생성을 선택한다.
대시보드에 서비스탭에서 생성 유무를 확인한다.

대시보드 버튼을 클릭하여, 접속한다.
초기 패스워드와 계정은 admin/admin이다.
3. Jenkins 기본 설정
본 장에서는 Jenkins 기본 설정에 대해서 기술하였다.
3.1 Jenkins 기본 설정
Jenkins 관리 -> 시스템 설정 으로 이동한다.

기본 시스템 설정
Jenkins Location 설정에서 Jenkins URL이 사용자가 접속한 주소가 아닐 경우, 사용자가 접속한 주소로 수정한다.

Workspace Sharing
기본적으로 Sample용으로 Template_CF와 Template_K8S를 제공하고 있다. 추후에 필요한 경우 추가를 이용하여, 사용자에 맞게 늘려서 사용하면 된다.
4. CF 빌드 및 배포
Jenkins 서비스를 이용하여, 빌드 및 CF 배포에 관해서 기술되어 있다.
배포종류
Deploy
Deploy(Blue&Green)
Deploy(Rolling)
4.1. 빌드

빌드는 소스를 형상관리에서 끌어와, 소스를 빌드를 하는 스탭이다. 기본 설정탭에서 다음과 같이 설정한다. Shared Workspace -> Template_CF을 설정한다.
Shared Workspace는 Job별로 공간을 생성하지 않고, 한 공간에서 Job을 진행할 수 있도록 제공되는 기능이다. Shared Workspace는 Jenkis 관리 -> 시스템 설정에서 설정 해야한다.
소스 코드 관리탭으로 이동하여, Git(SCM,Github )을 선택 후 Repository URL을 입력한다. Branch탭에 Branch명을 뜰때까지 대기한다.

예제 소스는 Gradle로 구성되어, Gradle 구성으로 설명한다.
Add build step을 클릭하여 Gradle script를 선택하여, 스탭을 추가한다. Invoke Gradle에서 버전을 선택 후 Tasks에 빌드 방식을 입력한다. Clearn build -x test(삭제O 테스트 X 빌드 O)를 입력한다. Add build step을 클릭하여, Execute Shell 를 선택하여 스탭을 추가한다. (기본 예제 소스 붙여넣기) Execute shell탭에서 CF배포에 필요한 Manifest 파일을 작성한다. (참조: https://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html) 저장 버튼을 선택하여, 설정을 종료한다.
4.2. CF Deploy
Deploy는 빌드에서 생성된 빌드파일을 CF 배포하는 스탭이다. 기본 설정탭에서 다음과 같이 설정한다. Shared Workspace -> Template_CF을 설정한다.
Shared Workspace는 Job별로 공간을 생성하지 않고, 한 공간에서 Job을 진행할 수 있도록 제공되는 기능이다. Shared Workspace는 Jenkis 관리 -> 시스템 설정에서 설정 해야한다.

Add build step을 클릭하여, Execute Shell 를 선택하여 스탭을 추가한다. (기본 예제 소스 붙여넣기)
본인의 설정으로 변경 후 저장한다. 빌드를 실행 후 정상 배포여부를 확인하다.
4.3 CF Deploy(Blue&Green)
Blue&Green 배포란? 무중단 배포를 의미하는 용어이다. Blue&Green 배포 프로세스
신규 서비스를 새로운 이름으로 배포한다.
신규 서비스에 새로운 라우터를 부여한다.
신규 서비스에 정상여부를 확인한다.
신규 서비스에 기존 서비스 라우터를 부여하고, 새로운 라우터를 제거한다.
기존 서비스를 제거하고, 신규서비스를 주 서비스로 운영한다.


Deploy(Blue&Green)는 빌드에서 생성된 빌드파일을 CF 배포하는 스탭이다.. 기본 설정탭에서 다음과 같이 설정한다. Shared Workspace -> Template_CF을 설정한다.
Add build step을 클릭하여, Execute Shell 를 선택하여 스탭을 추가한다. (기본 예제 소스 붙여넣기)
4.4 CF Deploy(Rolling)
Rolling Update란? Blue&Green과 비슷한 형태의 배포로 동일한 이름의 인스턴스를 내부적으로 생성하여, 자동으로 기존 서비스와 신규서비스를 교체하는 업데이트이다.
Deploy(Blue&Green)는 빌드에서 생성된 빌드파일을 CF 배포하는 스탭이다. 기본 설정탭에서 다음과 같이 설정한다. Shared Workspace -> Template_CF을 설정한다.
Add build step을 클릭하여, Execute Shell 를 선택하여 스탭을 추가한다. (기본 예제 소스 붙여넣기)
5. Kubernets 빌드 및 배포
Jenkins 서비스를 이용하여, 빌드 및 Kubernetes 배포에 관해서 기술되어 있다. 이기능을 사용하기위해서는 PaaS-TA CaaS 서비스를 사용하고 있어야 정상적으로 예제를 이용하여, 배포할 수 있다.
배포종류
Setting
Deploy
Deploy(Blue&Green)
Deploy(Rolling)
예제 소스를 제공한다.
5.1. K8S_Setting

Setting은 K8S 접속하기 위하여, Kubectl을 설정하는 과정이다. 기본 설정탭에서 다음과 같이 설정한다. Shared Workspace -> Template_K8S를 설정한다.
CaaS에서 제공하는 Access페이지의 정보를 모두 입력한다.

Pem파일을 열어 내용을 cert.crt에 입력한다. 다음과 같이 설정후 저장한다.
5.2. K8S_Build(Docker Build)
Build은 K8S 배포하기 위하여, 소스 빌드 및 Docker Image 생성을 위한 설정이다. 기본 설정탭에서 다음과 같이 설정한다. Shared Workspace -> Template_K8S를 설정한다.
이미지 구성 프로세스 1. 소스를 빌드한다. 2. 배포되어 필요한 설정파일을 생성한다. (GIT에 설정파일이 등록되어 있을 경우 필요없음) 3. Dockerfile을 생성한다. 4. Docker Build를 진행한다. 5. Docker Push를 진행하여, 레파지토리 서버에 등록한다.


5.3. K8S_Deploy

Deploy은 K8S 배포 위한 기본 설정이다. 기본 설정탭에서 다음과 같이 설정한다. Shared Workspace -> Template_K8S를 설정한다.

5.4. K8S_Deploy(Blue&Green)

Deploy은 K8S 배포 위한 기본 설정이다. 기본 설정탭에서 다음과 같이 설정한다. Shared Workspace -> Template_K8S을 설정한다.

5.5. K8S_Deploy(Rolling)
Rolling Update란? Blue&Green과 비슷한 형태의 배포로 동일한 이름의 인스턴스를 내부적으로 생성하여, 자동으로 기존 서비스와 신규서비스를 교체하는 업데이트이다.
Deploy은 K8S 배포 위한 기본 설정이다. 기본 설정탭에서 다음과 같이 설정한다. Shared Workspace -> Template_K8S을 설정한다.

Last updated
Was this helpful?