Skip to content

critical-alert/circleci-testkitchen

Repository files navigation

circleci-testkitchen

circleci status

circle ciでec2インスタンスにserverspecするやつ

何が起こる?

  • githubにpushする
  • circleciがそれを検知してビルドを開始
  • circleci上のコンテナ内でbundle installtest kitchenがインストールされる
  • bundle exec kitchen testが以下をやってくれる
    • ec2内にインスタンスを立ち上げる
    • chefをインストール
    • cook
    • serverspecを実行
    • 成功したらインスタンスをterminate
  • circleci上でビルドがpassingになる
  • githubでそれがわかる
  • chatツールで通知される(オプション)
  • circle.yml参照

.kitchen.yml (重要)

  aws_access_key_id: <%= ENV['AWS_ACCESS_KEY'] %>
  aws_secret_access_key: <%= ENV['AWS_SECRET_ACCESS_KEY'] %>
  aws_ssh_key_id: <%= ENV['AWS_SSH_KEY_ID'] %>
  ssh_key: <%= File.expand_path('~/.ssh/id_circleci') %>
  • AWSでインスタンスを立ち上げる設定が書かれている
  • apiキーなど設定ファイルに書いてコミットできない値はすべて環境変数にしている
  • circleci側のEnvironment variablesで下記の設定をしておく
    • AWS_ACCESS_KEY
    • AWS_SECRET_ACCESS_KEY
    • AWS_SSH_KEY_ID :AWS上でEC2を起動する際にsshの鍵を指定する時の鍵の名前
  • ssh keyを設定できるのでプライベートキーを登録しておく
    • 登録時、hostnameのところに名前を入れると ~/.ssh/id_hostname として鍵が配置される
  • その他(インスタンスタイプなど)の設定は見ればだいたい分かるとはず

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages