開発環境としてDockerを利用します。 Docker in Docker を利用する
下記は自分の検証環境で入っているversionなので特にこだわりなく入れてもらって大丈夫だと思います。
- git
- docker 18.09.7
- Golang 1.13.1
- docker-compose
$ go verison
$ sudo docker run hello-world
ローカルで実行している場合にはlocalhost:8080 にアクセスする
$ wget https://concourse-ci.org/docker-compose.yml
$ docker-compose up -d
もし、外部のサーバーを利用する場合にはdocker-compose.yml のCONCOURSE_EXTERNAL_URL
を変更してください
version: '3'
services:
concourse-db:
image: postgres
environment:
POSTGRES_DB: concourse
POSTGRES_PASSWORD: concourse_pass
POSTGRES_USER: concourse_user
PGDATA: /database
concourse:
image: concourse/concourse
command: quickstart
privileged: true
depends_on: [concourse-db]
ports: ["8080:8080"]
environment:
CONCOURSE_POSTGRES_HOST: concourse-db
CONCOURSE_POSTGRES_USER: concourse_user
CONCOURSE_POSTGRES_PASSWORD: concourse_pass
CONCOURSE_POSTGRES_DATABASE: concourse
CONCOURSE_EXTERNAL_URL: http://<外部IPを指定する>:8080
CONCOURSE_ADD_LOCAL_USER: test:test
CONCOURSE_MAIN_TEAM_LOCAL_USER: test
CONCOURSE_WORKER_BAGGAGECLAIM_DRIVER: overlay
https://github.com/concourse/concourse/releases から fly をインストールします
wget https://github.com/concourse/concourse/releases/download/v5.8.0/fly-5.8.0-linux-amd64.tgz
tar -xf fly-5.8.0-linux-amd64.tgz
chmod +x fly*
sudo mv fly* /usr/local/bin/
fly --version
flyでログインして確認しましょう、ログインが確認出来たら次のステップです。 fly を見て確認しましょう!
$ fly -t secsteel login -c http://localhost:8080 -u test -p test
$ fly -t secsteel login -c http://<外部IP>:8080 -u test -p test
Concourse のダッシュボードhttp://<外部IP>:8080 もしくは http://localhost:8080 でアクセスすることができます
じゃあ、はじめて行きましょう!
git clone https://github.com/starkandwayne/concourse-tutorial.git
cd concourse-tutorial/tutorials/basic/task-hello-world
fly -t secsteel execute -c task_hello_world.yml
出てきたURLにアクセスするとビルドの様子を確認することができます。
concourseには豊富なexampleが用意されています。 ハンズオンの時間が余ったらexampleを試してみてください。 あなたがphpやRuby、Golangであれば直接参考になるものがあります。
ハンズオン用のリポジトリ をデプロイしていきましょう
- Vuls の導入
- sonarqube の導入
- OWASP ZAP の導入