Skip to content

Instantly share code, notes, and snippets.

@nwiizo

nwiizo/README.md Secret

Last active May 8, 2021 14:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nwiizo/5d2fac35d2f53b4bfa15d71e21ae4fc7 to your computer and use it in GitHub Desktop.
Save nwiizo/5d2fac35d2f53b4bfa15d71e21ae4fc7 to your computer and use it in GitHub Desktop.
Automate the Boring Stuff with Continuous Integration ハンズオン資料 セキュ鉄 OWASP Kyushu合同勉強会 https://secsteel.connpass.com/event/162437/

開発環境としてDockerを利用します。 Docker in Docker を利用する

Pre Setup

下記は自分の検証環境で入っているversionなので特にこだわりなく入れてもらって大丈夫だと思います。

Check install

$ go verison 
$ sudo docker run hello-world

Concourse install

ローカルで実行している場合には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

install fly

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

Check Concourse & fly

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 の導入
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment