LoginSignup
9
5

More than 5 years have passed since last update.

Concourse CI環境を5分で構築する

Last updated at Posted at 2018-06-16

公式の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のよく使うコマンド集を参照。

参考

9
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
5