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

GitHub + Circle CI で幸せになろう

Jan 22, 2017

Download

Engineering

Nobuhiro Ueda
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: GitHub + Circle CI で幸せになろう

GitHub + Circle CI で幸せになろう

Page 2: GitHub + Circle CI で幸せになろう

自己紹介

株式会社 tech vein

上田 信尋

WEBエンジニア

php大好き

Yii2 大好き

Page 3: GitHub + Circle CI で幸せになろう

Circle CI って?

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

基本無料

かなり色々出来る

簡易版Jenkinsのような存在?

Slack連携OK!!

Page 4: GitHub + Circle CI で幸せになろう

Circle CI TOPページ

Page 5: GitHub + Circle CI で幸せになろう

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

Page 6: GitHub + Circle CI で幸せになろう

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

Page 7: GitHub + Circle CI で幸せになろう

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

Page 8: GitHub + Circle CI で幸せになろう

これで準備完了

Page 9: GitHub + Circle CI で幸せになろう

Circle CI の使い方

Page 10: GitHub + Circle CI で幸せになろう

どんなことが出来るのか

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

テスト

デプロイ

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

Page 11: GitHub + Circle CI で幸せになろう

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

Page 12: GitHub + Circle CI で幸せになろう

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

Page 13: GitHub + Circle CI で幸せになろう

テストを設定しよう

Page 14: GitHub + Circle CI で幸せになろう

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

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

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

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

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

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

Page 15: GitHub + Circle CI で幸せになろう

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

Page 16: GitHub + Circle CI で幸せになろう

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

Page 17: GitHub + Circle CI で幸せになろう

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

Page 18: GitHub + Circle CI で幸せになろう

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

Page 19: GitHub + Circle CI で幸せになろう

テストまでの流れ

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

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

Page 20: GitHub + Circle CI で幸せになろう

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

Page 21: GitHub + Circle CI で幸せになろう

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

Page 22: GitHub + Circle CI で幸せになろう

結果はSLACKでも通知

Page 23: GitHub + Circle CI で幸せになろう

デプロイしてみよう

Page 24: GitHub + Circle CI で幸せになろう

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

Page 25: GitHub + Circle CI で幸せになろう

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

Page 26: GitHub + Circle CI で幸せになろう

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

develop ブランチにコミット

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

release ブランチにコミット

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

master ブランチにコミット

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

Page 27: GitHub + Circle CI で幸せになろう

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

Page 28: GitHub + Circle CI で幸せになろう

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

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

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

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