Concourse 설치
Concourse 설치하는 방법은 여러가지가 있는데, 대표적으로 아래 두가지 방법이 있다. 테스트, 데모, PoC 용도로는 docker-compose를 사용할 수 있으며, 운영 서버로 구성하는 경우 서버에 설치하거나 Kubernetes 에 설치할 것을 권고한다.
https://concourse-ci.org/docs.html
Docker-compose
docker-compose 를 사용해서 8080 포트로 concurse 를 실행할 수 있으며, docker-compose.yml 파일을 수정하여 포트나 인스턴스 수를 조정할 수 있다.
wget https://concourse-ci.org/docker-compose.yml
docker-compose up -d
Kubernetes / Helm
쿠버네티스에 Helm 으로 설치할 경우, https://github.com/concourse
helm repo add concourse https://concourse-charts.storage.googleapis.com/
heml repo update
helm install concourse concourse/concourse -n tanzu-system-concourse \
--set web.ingress.enabled=true \
--set web.ingress.hosts=fly.exmaple.com \
--set persistence.worker.storageClsss=default \
--set postgresql.persistence.storageClass=default \
--set web.replicas=1 \
--set worker.replicas=2
Cleanup
helm delete concourse -n tanzu-system-concourse
kubectl delete pvc -l app=concourse-worker
Concourse CLI - fly
concourse 에서는 fly 라는 cli 를 통해서 파이프라인을 배포하고 실행한다.
fly -t lite login -c http://fly.jupilh.cf:8080 -u test -p password
simple pipeline
wget -nv https://raw.githubusercontent.com/concourse/testflight/8db3bc5680073ec4eb3e36c8a2318297829b9ce0/pipelines/fixtures/simple.yml
simple.yml
---
jobs:
- name: simple
plan:
- task: simple-task
config:
platform: linux
image_resource:
type: docker-image
source: {repository: busybox}
run:
path: echo
args: ["Hello, world!"]
- set-pipeline
fly -t lite set-pipeline -p hello-world -c simple.yml
- unpause-pipeline
fly -t lite unpause-pipeline -p hello-world
- trigger-job 으로 파이프라인의 특정 job 을 실행할 수 있다.
fly -t lite trigger-job -j hello-world/simple
Pipeline Basic
Config
# commented lines are prefixed with the '#' character
# strings
quoted_string: "bar"
unquoted_string: hello world!
multiline_string: |
hello, world!
this is one big string with a trailing linebreak!
# arrays
array: [hello, world]
multiline_array:
- hello
- world
# objects
object: {one: uno, two: dos}
multiline_object:
one: uno
two: dos
# boolean values
booleans: [true, false]
# numeric values
numeric: [1234, 12.34]
Vars
Pipeline
- resource
- job
- task