最近concourseをさわったので忘れないように書いてます。
concourseとは
CI/CDツールです。
簡単にjobやパイプラインをつくることができます。
前提の環境
docker
docker-compose が動く
mac (windowsもできるかな?試してないです)
concourseの環境構築
下記のコードをコピペしてdocker-compose.ymlを作る
version: '3'
services:
concourse-db:
image: postgres:9.5
environment:
POSTGRES_DB: concourse
POSTGRES_USER: concourse
POSTGRES_PASSWORD: changeme
PGDATA: /database
concourse-web:
image: concourse/concourse
links: [concourse-db]
command: web
depends_on: [concourse-db]
ports: ["8080:8080"]
volumes: ["./keys/web:/concourse-keys"]
restart: unless-stopped # required so that it retries until conocurse-db comes up
environment:
CONCOURSE_BASIC_AUTH_USERNAME: concourse
CONCOURSE_BASIC_AUTH_PASSWORD: changeme
CONCOURSE_EXTERNAL_URL: "${CONCOURSE_EXTERNAL_URL}"
CONCOURSE_POSTGRES_HOST: concourse-db
CONCOURSE_POSTGRES_USER: concourse
CONCOURSE_POSTGRES_PASSWORD: changeme
CONCOURSE_POSTGRES_DATABASE: concourse
concourse-worker:
image: concourse/concourse
privileged: true
links: [concourse-web]
depends_on: [concourse-web]
command: worker
volumes: ["./keys/worker:/concourse-keys"]
environment:
CONCOURSE_TSA_HOST: concourse-web
次に下記のコマンドを実行します
$ mkdir -p keys/web keys/worker
$ ssh-keygen -t rsa -f ./keys/web/tsa_host_key -N ''
$ ssh-keygen -t rsa -f ./keys/web/session_signing_key -N ''
$ ssh-keygen -t rsa -f ./keys/worker/worker_key -N ''
$ cp ./keys/worker/worker_key.pub ./keys/web/authorized_worker_keys
$ cp ./keys/web/tsa_host_key.pub ./keys/worker
そしてこのconcourseにアクセスするためのURLを設定します
この時下記のURLには127.0.0.1やlocalhostを指定しないでください。
$ CONCOURSE_EXTERNAL_URL=http://192.168.99.100:8080
ここまできたら起動します
$ docker-compose up -d
起動したら
http://127.0.0.1:8080
に接続して見てください。concourseのページが見れると思います。
右上のログインボタンを押してもらってmainにログインしてください。
その時ユーザー、パスワードはdocker-compose.yml中の
CONCOURSE_BASIC_AUTH_USERNAME と
CONCOURSE_BASIC_AUTH_PASSWORD の値になります
そのまま貼り付けた場合は
username: concourse
password: changeme
でログインできると思います。
環境構築に関してはこのリンク書いてあります
concourseをclから操作
ここでは基本コマンドラインで作業していきます
concourseのコマンドインストール
まずconcourse UI上にあるリンゴのマークをクリックしてflyコマンドを使えるようにしてください。
ダウンロードしたら実行権限を渡してpathの通ってるところに入れましょう
$ chmod +x path/to/fly
$ mv path/to/fly /usr/local/bin
バージョンが見れたら成功です。
$ fly --version
ログイン
$fly -t <ターゲット名> login -c <concourseのURL> -n <登録済みのチーム名>
# 例
$ fly -t my-target login -c http://127.0.0.1:8080 -n main
ユーザー・パスワードがきかれたらmainのユーザー・パスワードをいれてください
これでログインできたはずです。下記のコマンドで実際にconcourseと紐づいたかどうか確認してください。
$ fly targets
先ほどログインした内容が表示されていたら成功です。
続き
-
concourseを通してpcfにdeploy
http://qiita.com/yuichi10/items/8555a51810230fefa73c