公式のDockerイメージを利用して、Concourse CIの環境を構築する。
(事前)Dockerインストール
Dockerは事前にインストールしておく。
# for Mac
brew cask install docker
# for Linux
yum install docker -y
Concourse起動
# 公式リポジトリからclone
git clone https://github.com/concourse/concourse-docker.git
cd concourse-docker
# 秘密鍵生成
./generate-keys.sh
# docker-compose.ymlを編集
# - CONCOURSE_EXTERNAL_URLを修正
# - CONCOURSE_BASIC_AUTH_USERNAMEを追記
# - CONCOURSE_BASIC_AUTH_PASSWORDを追記
vi docker-compose.yml
docker-compose.yml
version: '3'
services:
concourse-db:
image: postgres
environment:
- POSTGRES_DB=concourse
- POSTGRES_PASSWORD=concourse_pass
- POSTGRES_USER=concourse_user
- PGDATA=/database
concourse-web:
image: concourse/concourse
command: web
links: [concourse-db]
depends_on: [concourse-db]
ports: ["8080:8080"]
volumes: ["./keys/web:/concourse-keys"]
environment:
- CONCOURSE_POSTGRES_HOST=concourse-db
- CONCOURSE_POSTGRES_USER=concourse_user
- CONCOURSE_POSTGRES_PASSWORD=concourse_pass
- CONCOURSE_POSTGRES_DATABASE=concourse
- CONCOURSE_EXTERNAL_URL=${CONCOURSE_EXTERNAL_URL}
- CONCOURSE_BASIC_AUTH_USERNAME=concourse
- CONCOURSE_BASIC_AUTH_PASSWORD=concourse
- CONCOURSE_ADD_LOCAL_USER=test:$$2a$$10$$0W9/ilCpYXY/yCPpaOD.6eCrGda/fnH3D4lhsw1Mze0WTID5BuiTW
- CONCOURSE_MAIN_TEAM_ALLOW_ALL_USERS=true
concourse-worker:
image: concourse/concourse
command: worker
privileged: true
links: [concourse-web]
depends_on: [concourse-web]
volumes: ["./keys/worker:/concourse-keys"]
environment:
- CONCOURSE_TSA_HOST=concourse-web:2222
- CONCOURSE_GARDEN_NETWORK
起動
export CONCOURSE_EXTERNAL_URL=http://$(ipconfig getifaddr en0):8080
docker-compose up -d
以上で構築完了。http://localhost:8080 で画面にアクセス可能。
構築完了したら
flyコマンドでパイプラインを作って実行してみよう。
Concourse CIのよく使うコマンド集を参照。