こんにちは。ファガイです。
今日は昔は理解できなかったけど今はわかるデプロイという言葉について軽く書いておこうと思います。
デプロイとは
デプロイという言葉が独り歩きしてしまったりしますが
ファイルなどをサーバー等にアップしてサービスを見れる(更新された)状態にすること
だと私は考えます。
最近では自動デプロイなどが一般化されていますが、
例えば自分でSFTPでファイルをアップロードしてサイトを更新することもデプロイと呼びます。
意味が把握しにくくなる原因
主にこのデプロイという意味をいまいちわからない原因として、ビルド+デプロイ
のことだけがデプロイと認識してしまうことです。
ビルドというのはアップできるようにするための前処理です。
例えばcomposer installでpackageを持ってくるとか、cssやjsをminifyしてbundleするとか。
デプロイをできるようにするための作業と考えましょう。
デプロイはその前処理をしてくれたものをサーバーにアップして、ちゃんと見えるようにすることです。
ただ、その対象サーバー上でソースを取得してビルドして見える状態にするといったデプロイも存在します。
なので、正しく書けばファイルなどをサーバー等にアップしてサービスを見れる(更新された)状態にすること
なのです。
一般的なデプロイでやる作業について(オンプレ)
ビルドの処理が終わった状態から、デプロイする作業は比較的簡単です。
ここではphpのwebアプリケーションとして考えます。
- 前処理が終わった状態であるので、何らかの方法でサーバーにファイルをアップします。
- 必要な作業があればそれを行う(マイグレーションとか)
- そのまま更新しても良いのですがデプロイ処理に失敗する可能性もあるので、バージョンごとにディレクトリを切ってシンボリックリンクで現在(current)を見るように向き先を変えれるようにしてすぐにバージョンを戻せるようにしたりします。(これに関してはサービスにもよります)
- ゴミ掃除
正直なところ、デプロイでやる作業はこれくらいです。
AWS CodeDeployなども、あれはzip化したアプリケーションデータをS3から取得してサーバー上に展開するだけです。その後の見えるようにする作業をシェルスクリプト等で記載します。
最後に
ビルドとデプロイをしっかり頭で切り分けることでデプロイという言葉の理解が深まると思います。
ではでは。
コメント