はじめに
こんにちは!
プログラミングを学び始めると必ず出てくる「デプロイ」という魔法のような言葉。
「コードを書いたらあとはデプロイすればいいらしい」と言われて、
何をどうすればいいのか悩んだ経験はありませんか?
今回は「デプロイする」の正体に迫ります。
デプロイとは
「デプロイ」(deploy)とは、
開発したプログラムやウェブサイト、アプリケーションを 開発環境 から 本番環境(ユーザーがアクセスできる環境)に公開・配置することです。
なぜデプロイが必要なのか?
ローカル(自分のパソコン)で動くコードは、自分の環境にしか存在しません。
そのコードをインターネット上や社内サーバー上で動かして初めて、
他の人 や 自動処理 が使えるようになります。
例えば、ウェブサイトを作っても、自分のパソコン上だけでは外の人は見られません。
「デプロイ」をしないと…
- ユーザーにアプリを配布できない
- 自動バックアップやスケーリングが動かせない
- チーム開発で最新の動作確認ができない
といった問題が起こります。
デプロイの仕組み
-
ビルド
ソースコードを「実行可能な形式」や「コンテナイメージ」に変換します。
例:Javaなら.jar
、Dockerならdocker build
-
アップロード
ビルド結果をサーバーやクラウド(AWS、GCP、Azureなど)に転送します。
例:scp
、aws s3 cp
、docker push
-
リリース/配置
サーバー上で実際にプログラムを起動・配置します。
例:Systemdでサービス再起動、Kubernetesにkubectl apply
-
検証
ブラウザでページを開いたり、APIを叩いたりして正常に動作しているか確認します。
デプロイしないとどうなる?
デプロイをしないと、毎回手動でユーザーのマシンにコピーしたり、
ローカルで起動したサーバーをずっと動かしておく必要があります。
まとめ
この記事では、プログラムを開発環境から本番環境へ公開する「デプロイ」の重要性と手順を解説しました。
ローカルでしか動かないコードをインターネット上や社内サーバー上で他の人や自動処理に使えるようにするために、以下の4ステップが必要です。
- ビルド:ソースコードを実行可能形式やコンテナイメージに変換
- アップロード:成果物をサーバーやクラウドへ転送
- リリース/配置:サーバー上でサービスを起動・配置
- 検証:ブラウザや API で動作確認
デプロイを行わないと、ユーザーへの配布や自動バックアップ、スケーリング、チーム開発での動作確認が困難になるため、開発した成果をスムーズかつ安全に届けるためには欠かせないプロセスです。