Page 1
GitHub + Circle CI で幸せになろう
Page 2
自己紹介
株式会社 tech vein
上田 信尋
WEBエンジニア
php大好き
Yii2 大好き
Page 3
Circle CI って?
GitHub と連携してCIを実行出来るサービス
基本無料
かなり色々出来る
簡易版Jenkinsのような存在?
Slack連携OK!!
Page 5
GITHUB アカウントでサインアップ
Page 7
設定したリポジトリ内のブランチが表示されてればOK
Page 10
どんなことが出来るのか
GitHub リポジトリにpushとかをしたら色々自動で実行してくれる
テスト
デプロイ
設定は リポジトリ直下に circle.yml を置いて設定してやる
Page 12
設定ファイルにはテストとかをymlで書く
Page 14
Circle CIにテスト環境を作る?
Dockerを使って環境を作ることは可能
ただメモリが少ないのでかなり厳しい
DBがあるならテストのたんびにインポートが走ってえらい時間がかかる
composer install もテストのたんびにやってたらえらい時間がかかる
LAMP環境そのたびに作るのもしんどい
Page 15
テストサーバーにデプロイしてからテストを実行する
Page 16
Dockerでubuntuのコンテナが立ち上がってるのでそこからSSHでデプロイコマンドを実行してしまおう
Page 17
Circle CI にSSH秘密鍵を設定する
Page 18
設定したコマンドは上から順番に実行される失敗した場合はその場で停止する
Page 19
テストまでの流れ
Circle CI からテストサーバーに対してデプロイコマンドを実行(git pull)とか
Circle CI からテストサーバーに対してテストを実行する(codeceptionとか)
Page 21
プルリク作成の時も自動でテストしてくれるテストが失敗すると怒ってくれる
Page 24
テストをパスした後に動くデプロイを設定してやる
Page 25
テストやデプロイの設定はブランチごとに設定出来る!
Page 26
ブランチごとに設定出来るということは…
develop ブランチにコミット
テストが通ったらテストサーバーにデプロイ
release ブランチにコミット
テストが通ったらレビューサーバーにデプロイ
master ブランチにコミット
テストが通ったら本番環境にデプロイ
Page 27
面倒なテストやデプロイ作業が全部自動に!結果はSlackなんかで教えてくれる!
Page 28
登録や設定はとても簡単なのでGithubを使っているところは是非使いましょう!
Githubを使ってないところはごめんなさい