Delivery Pipeline 서비스 설치 가이드
Table of Contents
배포 파이프라인 서비스 설치 2.1. Prerequisite 2.2. Stemcell 확인 2.3. Deployment 다운로드 2.4. Deployment 파일 수정 2.5. 서비스 설치 2.6. 서비스 설치 - 다운로드 된 PaaS-TA Release 파일 이용 방식 2.7. 서비스 설치 확인
배포 파이프라인 서비스 관리 및 신청 3.1. 서비스 브로커 등록 3.2. UAA Client 등록 3.3. Java Offline Buildpack 등록 3.4. 서비스 신청 3.5. 서비스 신청 - CF CLI
1. 문서 개요
1.1. 목적
본 문서(배포 파이프라인 서비스팩 설치 가이드)는 개방형 PaaS 플랫폼 고도화 및 개발자 지원 환경 기반의 Open PaaS에서 제공되는 서비스팩인 배포 파이프라인 서비스팩을 Bosh를 이용하여 설치 및 서비스 등록하는 방법을 기술하였다. PaaS-TA 3.5 버전부터는 Bosh2.0 기반으로 deploy를 진행하며 기존 Bosh1.0 기반으로 설치를 원할경우에는 PaaS-TA 3.1 이하 버전의 문서를 참고한다.
1.2. 범위
설치 범위는 배포 파이프라인 서비스팩을 검증하기 위한 기본 설치를 기준으로 작성하였다.
1.3. 시스템 구성도
본 문서의 설치된 시스템 구성도이다. 배포 파이프라인 Server, 형상관리 서비스 브로커로 최소사항을 구성하였다.

VM 명
인스턴스 수
vCPU 수
메모리(GB)
디스크(GB)
HAProxy
1
1
2
Root 4G
WEB UI
N
1
2
Root 4G
Service broker
1
1
2
Root 4G
Common API
N
1
2
Root 4G
DeliveryPipeline API
N
1
2
Root 4G
Inspection API
N
1
2
Root 4G
Storage API
1
1
2
Root 4G
Scheduler
1
1
2
Root 4G
DeliveryPipeline
N
1
2
Root 8G + 영구디스크 10G
Inspection
1
1
2
Root 4G
Storage
1
1
4
Root 4G + 영구디스크 50G
DBMS(mariadb)
1
1
4
Root 6G + 영구디스크 4G
Postgres
1
1
2
Root 6G + 영구디스크 4G
1.4. 참고 자료
2. 배포 파이프라인 서비스 설치
2.1. Prerequisite
본 설치 가이드는 Linux 환경에서 설치하는 것을 기준으로 하였다. 서비스팩 설치를 위해서는 BOSH 2.0과 PaaS-TA 5.0 이상, PaaS-TA 포털이 설치되어 있어야 한다.
2.2. Stemcell 확인
Stemcell 목록을 확인하여 서비스 설치에 필요한 Stemcell이 업로드 되어 있는 것을 확인한다. (PaaS-TA 5.5.1 과 동일 stemcell 사용)
$ bosh -e micro-bosh stemcells
2.3. Deployment 다운로드
서비스 설치에 필요한 Deployment를 Git Repository에서 받아 서비스 설치 작업 경로로 위치시킨다.
Service Deployment Git Repository URL : https://github.com/PaaS-TA/service-deployment/tree/v5.0.6
2.4. Deployment 파일 수정
BOSH Deployment manifest는 Components 요소 및 배포의 속성을 정의한 YAML 파일이다. Deployment 파일에서 사용하는 network, vm_type, disk_type 등은 Cloud config를 활용하고, 활용 방법은 BOSH 2.0 가이드를 참고한다.
Cloud config 설정 내용을 확인한다.
$ bosh -e micro-bosh cloud-config
common_vars.yml을 서버 환경에 맞게 수정한다.
배포 파이프라인에서 사용하는 변수는 system_domain 이다.
$ vi ~/workspace/paasta-5.5.1/deployment/common/common_vars.yml
Deployment YAML에서 사용하는 변수 파일을 서버 환경에 맞게 수정한다.
$ vi ~/workspace/paasta-5.5.1/deployment/service-deployment/pipeline-service/vars.yml
2.5. 서비스 설치
서버 환경에 맞추어 Deploy 스크립트 파일의 VARIABLES 설정을 수정하고, Option file을 추가할지 선택한다.
(선택) -o operations/use-compiled-releases.yml (ubuntu-xenial/621.94로 컴파일 된 릴리즈 사용)
$ vi ~/workspace/paasta-5.5.1/deployment/service-deployment/pipeline-service/deploy.sh
서비스를 설치한다.
2.6. 서비스 설치 - 다운로드 된 PaaS-TA Release 파일 이용 방식
서비스 설치에 필요한 릴리즈 파일을 다운로드 받아 Local machine의 서비스 설치 작업 경로로 위치시킨다.
설치 릴리즈 파일 다운로드 : paasta-delivery-pipeline-release-1.0.2.tgz
서버 환경에 맞추어 Deploy 스크립트 파일의 VARIABLES 설정을 수정하고 Option file 및 변수를 추가한다.
(추가) -o operations/use-offline-releases.yml (미리 다운받은 offline 릴리즈 사용)
(추가) -v releases_dir=""
$ vi ~/workspace/paasta-5.5.1/deployment/service-deployment/pipeline-service/deploy.sh
서비스를 설치한다.
2.7. 서비스 설치 확인
설치 된 서비스를 확인한다.
$ bosh -e micro-bosh -d pipeline-service vms
3. 배포 파이프라인 서비스 관리 및 신청
PaaS-TA 운영자 포탈을 통해 배포파이프라인 서비스를 등록 및 공개하면, PaaS-TA 사용자 포탈을 통해 서비스를 신청 하여 사용할 수 있다.
3.1. 서비스 브로커 등록
배포 파이프라인 서비스팩 배포가 완료되었으면 파스-타 포탈에서 서비스 팩을 사용하기 위해서 먼저 배포 파이프라인 서비스 브로커를 등록해 주어야 한다. 서비스 브로커 등록 시 개방형 클라우드 플랫폼에서 서비스 브로커를 등록할 수 있는 사용자로 로그인이 되어있어야 한다.
서비스 브로커 목록을 확인한다.
$ cf service-brokers
배포 파이프라인 서비스 브로커를 등록한다.
$ cf create-service-broker {서비스팩 이름} {서비스팩 사용자ID} {서비스팩 사용자비밀번호} http://{서비스팩 URL}
서비스팩 이름 : 서비스 팩 관리를 위해 PaaS-TA에서 보여지는 명칭이다. 서비스 Marketplace에서는 각각의 API 서비스 명이 보여지니 여기서 명칭은 서비스팩 리스트의 명칭이다. 서비스팩 사용자ID / 비밀번호 : 서비스팩에 접근할 수 있는 사용자 ID입니다. 서비스팩도 하나의 API 서버이기 때문에 아무나 접근을 허용할 수 없어 접근이 가능한 ID/비밀번호를 입력한다. 서비스팩 URL : 서비스팩이 제공하는 API를 사용할 수 있는 URL을 입력한다.
$ cf create-service-broker delivery-pipeline admin cloudfoundry http://10.30.107.64:8080
등록된 배포 파이프라인 서비스 브로커를 확인한다.
$ cf service-brokers
접근 가능한 서비스 목록을 확인한다.
$ cf service-access
특정 조직에 해당 서비스 접근 허용을 할당하고 접근 서비스 목록을 다시 확인한다. (전체 조직)
$ cf enable-service-access delivery-pipeline $ cf service-access
3.2. UAAC Client 등록
UAAC Client 계정 등록 절차에 대한 순서를 확인한다.
배포 파이프라인 UAAC Client를 등록한다.
$ uaac client add {클라이언트 명} -s {클라이언트 비밀번호} --redirect_URL{대시보드 URL} --scope {퍼미션 범위} --authorized_grant_types {권한 타입} --authorities={권한 퍼미션} --autoapprove={자동승인권한} 클라이언트 명 : uaac 클라이언트 명 (pipeclient) 클라이언트 비밀번호 : uaac 클라이언트 비밀번호 대시보드 URL: 성공적으로 리다이렉션 할 대시보드 URL 퍼미션 범위: 클라이언트가 사용자를 대신하여 얻을 수있는 허용 범위 목록 권한 타입 : 서비스팩이 제공하는 API를 사용할 수 있는 권한 목록 권한 퍼미션 : 클라이언트에 부여 된 권한 목록 자동승인권한: 사용자 승인이 필요하지 않은 권한 목록
$ uaac client add pipeclient -s clientsecret --redirect_uri "[DASHBOARD_URL]" / --scope "cloud_controller_service_permissions.read , openid , cloud_controller.read , cloud_controller.write , cloud_controller.admin" / --authorized_grant_types "authorization_code , client_credentials , refresh_token" / --authorities="uaa.resource" / --autoapprove="openid , cloud_controller_service_permissions.read"
3.3. Java Offline Buildpack 등록
배포 파이프라인 서비스 사용을 위해 Java Offline Buildpack을 등록한다.
$ cf create-buildpack [BUILDPACK] [PATH] [POSITION] [BUILDPACK] : java_buildpack_offline (buildpack 명) [PATH] : buildpack zip 파일의 경로 [POSITION] : 우선순위
Java Offline Buildpack 다운로드
wget -O java-buildpack-offline-v4.25.zip http://45.248.73.44/index.php/s/mcaBZQCqwbyzC6a/download
buildpack 등록
$ cf create-buildpack java_buildpack_offline ..\buildpack\java-buildpack-offline-v4.25.zip 3
buildpack 등록 확인
$ cf buildpacks
※ 참고 URL : https://github.com/cloudfoundry/java-buildpack
3.4. 서비스 신청
1) PaaS-Ta 운영자 포탈에 접속하여 로그인한다.
2) 로그인 후 서비스 관리 > 서비스 브로커 페이지에서 배포 파이프라인 서비스 브로커를 확인한다.
3) 서비스 관리 > 서비스 제어 페이지에서 배포 파이프라인 서비스 플랜 접근 가능 권한을 확인한다.
4) 운영관리 > 카탈로그 > 앱서비스 페이지를 확인하여 "파이프라인" 서비스 이름을 클릭한다.
아래의 내용을 상세 페이지에 입력한다.
※ 카탈로그 관리 > 앱 서비스
이름 : 파이프라인
분류 : 개발 지원 도구
서비스 : delivery-pipeline
썸네일 : [배포 파이프라인 서비스 썸네일]
서비스 생성 파라미터 : owner
앱 바인드 사용 : N
공개 : Y
대시보드 사용 : Y
온디멘드 : N
태그 : paasta / tag6, free / tag2
요약 : 개발용으로 만들어진 파이프라인
설명 : 개발용으로 만들어진 파이프라인 배포 파이프라인 Server, 배포 파이프라인 서비스 브로커로 최소사항을 구성하였다.
3.5. 서비스 신청 - CF CLI
CF CLI 를 통한 파이프라인 서비스 신청 방법을 설명한다.
$ cf create-service [SERVICE] [PLAN] [SERVICE_INSTANCE] [-c PARAMETERS_AS_JSON]
[SERVICE] / [PLAN] : 서비스 명과 서비스 플랜
[SERVICE_INSTANCE] : 서비스 인스턴스 명 (내 서비스 목록에서 보여지는 명칭)
[-c PARAMETERS_AS_JSON] : JSON 형식의 파라미터 (파이프라인 서비스 신청 시, owner 파라미터는 필수)
서비스 상세의 대시보드 URL 정보를 확인하여 서비스에 접근한다.
Last updated




