##そもそもデプロイとは
デプロイって何ですか?と受講生に聞かれたらどう答えるのがいいかのを自分なりに考えてみました。
what
結論
👉受講生(クライアント)のアプリケーションを世界に公開するための作業。
why
👉ローカル(手元のPC)で作成したアプリケーションをリモートの公開用サーバーにコピーする必要があるから。
how
👉サーバーの用意
・AmazonWebServise、
・VPS、
・PaaS、
・レンタルサーバー、
のいずれか
👉サーバー構築
サーバーのセットアップ
●Rubyだと以下をインストール
・RubyonRails
・MySQL
・ImageMagick
●SSHという接続方法でログイン(ローカル→リモート)
・コマンド操作はLunuxで行う。
👉デプロイ
・ファイルのアップロード
・データベースのセットアップ
・サーバーの再起動
また、デプロイには手動デプロイと自動デプロイがある。
・手動デプロイ
①ソフトウェアを使ってファイルをアップロード。
②SSHでリモートサーバーに接続。
③データベースで必要なセットアップ(テーブルの作成など)。
④コマンドを打ち込んでサーバーを再起動。
・自動デプロイ
上記の手動デプロイが面倒であるので自動化したい。
CapistranoやFabricのツールを使う。
手動デプロイの①③④をコマンド一つで行いうことができる。
デプロイとGit
👉何度もデプロイを行うには簡便さが必須。
いちいち更新した箇所を探し○○と△△を選択してアップロード、、などとすると大変な作業量になってしまう。それを簡略化するためにデプロイのツールが有効。
このデプロイのツールと合わせて使うのがGitです。Gitはバージョン管理ツールとよばれるものでデプロイのツールではないと分かりました。バージョン管理とは、要は履歴を管理してくれることと同義です。このGitとデプロイツールを組み合わせることで、作業の差異を確認できるよううになります。この差があるおかげで今回更新しただけの分を簡単にピックアップできるようになるというわけです。そしてその差異をデプロイツールに渡してデプロイ完了となります。
###まとめ
カリキュラムが始まるとまずはGitの操作から入ります。
これを何のためにやるのか、具体的に何をしているのか、学習当初から分からなすぎて自分は路頭に迷いました。同じように感じてしまう受講生が少なからずいらっしゃると思います。今回学習した内容を話してあげることでもやもやを晴らしてあげることができるような気がしました。まずはgit〜デプロイまでの概観をさっと掴ませてあげる。対応のことを考えながら学習することが大事ですね。