본문 바로가기

VMware/구축(TAS)

[Tanzu 구축] (3) Concourse 구축

 

Concourse는 tanzu application services에서 bundle 지원을 하는 cicd 툴이다. 

Concourse는 리소스, 작업 및 작업과 같은 간단하고 강력한 기본 요소로 구축된 자동화 제품입니다. 따라서 플랫폼 자동화 및 CI/CD에 매우 적합합니다. 모든 것이 컨테이너에서 실행되므로 실행할 때마다 깨끗한 환경이 보장됩니다. 리소스 유형 추상화는 통합을 매우 쉽게 구축 및 구현하고 파이프라인 기능을 확장하기 위한 강력한 인터페이스를 제공합니다.

 

(1) Concourse 다운로드 받기

다운로드 하는 방법은 2가지이다. github에서 받는 방법과 tanzu network에서 받는 방법

 

 

Download Concourse for VMware Tanzu — VMware Tanzu Network

Explore, download, and update software and services.

network.pivotal.io

 

$ git clone https://github.com/concourse/concourse-bosh-deployment.git

 

(2) Concourse 배포하기

  • cloud-config 수정
$ bosh cloud-config
$ bosh cloud-config > cloud-config-0509.yml

# 내용을 vim으로 수정해준다.

$ bosh update-cloud-config cloud-config-0509.yml

  •  variable 수정
---
deployment_name: concourse01
azs:
- ap-northeast-1d
network_name: ert-subnet
web_vm_type: m5.large
worker_vm_type: m5.large
db_persistent_disk_type: 51200
db_vm_type: c5.large
external_url: http://10.0.6.95:8080
external_host: 10.0.6.95
web_ip: 10.0.6.95
postgres_password: Megazone00!
local_user:
  username: admin
  password: Megazone00!
encryption_key: megazone00!megazone00!
uaa_external_url: "https://10.0.6.95:8443"
uaa_internal_url: "https://10.0.6.95:8443"
  • 배포
bosh deploy \
  -d concourse01 \
   ./cluster/concourse.yml \
  -l versions.yml \
  -l variables.yml \
  -o ./cluster/operations/backup-atc.yml \
  -o ./cluster/operations/basic-auth.yml \
  -o ./cluster/operations/static-web.yml \
  --vars-store cluster-creds.yml

(3) fly 설치 및 pipeline 만들기

fly는 Concourse 파이프라인을 관리하는 cli이다.

 

  •  UI에서 다운로드 받아서 파일을 옮겨도 되고 curl로 다운로드 받아도 된다.
$ curl 'http://localhost:8080/api/v1/cli?arch=amd64&platform=linux' -o fly \
    && chmod +x ./fly && mv ./fly /usr/local/bin/
  • 접속확인
$ fly -t main login -c http://10.0.6.95:8080 -u admin -p Megazone00!
  • 타겟확인
$ fly targets

name  url                    team  expiry
main  http://10.0.6.95:8080  main  Thu, 12 May 2022 01:21:30 UTC
  • pipeline 생성하기
$ fly -t main set-pipeline -p 파이프라인 이름 -c 내파일 이름
  • pipeline 삭제하기
$ fly -t main destroy-pipeline -p foundation