GitHubについて検討する機会がありましたので、今日はGitHubの話にしたいと思います。
まずGitHubとは
直訳するとgit(拠点)hub(集まり)と訳せるそうです。
もともとコマンドラインツールにgitというツールがあり、ソースコードをいつ誰がどのように編集したのか記録し、各バージョンを管理するツール事ができます。
これをインターネット上で公開して自分以外のエンジニアに共有し、自分以外のエンジニアも修正を加えてもらうことができるオープンソース用の仕組みがGitHubです。
GitHubの費用
$4 ユーザー/月(https://github.co.jp/pricing.html)
基本的に無料ですが、一般公開しないプライベートリポジトリを作るのが有料プランでした。今はプライベートリポジトリ自体は無料プランでも作れるようですので、ミニマムスタートしとして無料プランで初めるのも可能なようです。
運用方法
運用方法は以下の3パターン考えられます。
- GitHubでコードの管理のみ行い、手動でWebサーバへ反映させる
- GitHubにPushした時に確認サーバのみを自動でデプロイさせる
- GitHubを通じて本番までデプロイする
1.GitHubでコードの管理のみ行い、手動でWebサーバへ反映させる
Gitはコマンドプロンプトで扱うものですが、例えばWebデザイナーなどにはハードルが高いので、GitHubをただの記録媒体として利用して、本番化は手運用で行うパターンですというのもあるのではと思います。
2.GitHubにPushした時に確認サーバのみを自動でデプロイさせる
開発環境にgitをインストールして、そのgitに対してデプロイします。
この場合は開発→本番サーバは手動でDL→アップロードとなります。
自動的に開発環境から本番サーバにデータコピーする運用の会社もあるかと思います。
3.GitHubを通じて本番までデプロイする
本番サーバにもGitをインストールする場合と、外部サービスを利用する場合があるようです。
a.リモートリポジトリから本番サーバ、STGサーバへ別々にpush/pullでデプロイする
b.外部サービスを利用して本番サーバへデプロイする
Travis CIを使って,GitHubのmasterブランチへpushした時に自動でWebサーバへデプロイする環境が作れるようです。
Travis CI
・設定したGitHubリポジトリから自動でソースコードをチェックアウトしてあらかじめ指定しておいたビルドやテスト処理を実行する
・テスト結果をTravis CIのサイト上や各種API、メールなどで開発者に通知する
・テストが正常に完了して問題がなかった場合、あらかじめ指定しておいたホスティングサービスにソフトウェアをデプロイする
費用
$69 / month(https://travis-ci.com/plans)
この記事を書くにあたり参考にしたサイト
https://blog.s-giken.net/343.html
https://knowledge.sakura.ad.jp/3754/
https://www.mas9612.net/posts/web-auto-deploy/