29
GitHub + Circle CI で幸せになろう

GitHub + Circle CI で幸せになろう

Embed Size (px)

Citation preview

GitHub + Circle CI で幸せになろう

自己紹介

株式会社 tech vein

上田 信尋

WEBエンジニア

php大好き

Yii2 大好き

Circle CI って?

GitHub と連携してCIを実行出来るサービス

基本無料

かなり色々出来る

簡易版Jenkinsのような存在?

Slack連携OK!!

Circle CI TOPページ

GITHUB アカウントでサインアップ

CIしたいリポジトリを選択

設定したリポジトリ内のブランチが表示されてればOK

これで準備完了

Circle CI の使い方

どんなことが出来るのか

GitHub リポジトリにpushとかをしたら色々自動で実行してくれる

テスト

デプロイ

設定は リポジトリ直下に circle.yml を置いて設定してやる

リポジトリに設定ファイルを置く

設定ファイルにはテストとかをymlで書く

テストを設定しよう

Circle CIにテスト環境を作る?

Dockerを使って環境を作ることは可能

ただメモリが少ないのでかなり厳しい

DBがあるならテストのたんびにインポートが走ってえらい時間がかかる

composer install もテストのたんびにやってたらえらい時間がかかる

LAMP環境そのたびに作るのもしんどい

テストサーバーにデプロイしてからテストを実行する

Dockerでubuntuのコンテナが立ち上がってるのでそこからSSHでデプロイコマンドを実行してしまおう

Circle CI にSSH秘密鍵を設定する

設定したコマンドは上から順番に実行される失敗した場合はその場で停止する

テストまでの流れ

Circle CI からテストサーバーに対してデプロイコマンドを実行(git pull)とか

Circle CI からテストサーバーに対してテストを実行する(codeceptionとか)

テストの様子はWEBから確認OK

プルリク作成の時も自動でテストしてくれるテストが失敗すると怒ってくれる

結果はSLACKでも通知

デプロイしてみよう

テストをパスした後に動くデプロイを設定してやる

テストやデプロイの設定はブランチごとに設定出来る!

ブランチごとに設定出来るということは…

develop ブランチにコミット

テストが通ったらテストサーバーにデプロイ

release ブランチにコミット

テストが通ったらレビューサーバーにデプロイ

master ブランチにコミット

テストが通ったら本番環境にデプロイ

面倒なテストやデプロイ作業が全部自動に!結果はSlackなんかで教えてくれる!

登録や設定はとても簡単なのでGithubを使っているところは是非使いましょう!

Githubを使ってないところはごめんなさい

ご清聴ありがとうございました