たとえるなら
完成した商品を倉庫から店頭に並べる作業です。工場で作り終えても(実装が終わっても)、店頭に並べる(デプロイする)までお客さんは買えません。並べて初めて、商品はお客さんの手に届きます。
もう少しくわしく
デプロイ(deploy)は「配置する」という意味で、完成したプログラムを、利用者が実際に使うサーバーに配置して動かす作業です。エンジニアが手元のパソコンでプログラムを完成させても、それだけでは世界の誰も使えません。インターネット上のサーバーに送り込み、動き始めて初めてサービスとして届きます。
現場では、利用者が実際に使う環境を「本番環境」、その手前で動作を確かめるための環境を「テスト環境」「ステージング環境」などと呼び分けます。「本番にデプロイする」は、いよいよ利用者の目に触れる場所へ反映するという意味で、現場が少し緊張する瞬間です。もし問題があれば、直前の状態に戻す(切り戻す)こともあります。
かつてデプロイは手作業で、失敗も起きやすい大仕事でした。いまはボタンひとつ、あるいは自動でデプロイされる仕組みを整えるのが主流で、1日に何度も安全にデプロイするチームもあります。この自動化の仕組み作りも、エンジニアの重要な仕事のひとつです。
現場での使われ方
「今夜デプロイするので、動作確認お願いします」
今夜、新しいプログラムを本番のサーバーに反映するので、そのあと正しく動いているか確かめてほしい、という依頼です。
「デプロイ直後からエラーが増えてます」
新しく配置したプログラムに問題がありそうだ、という警報。切り戻しの判断が検討される場面です。
よくある質問
デプロイとリリースの違いは何ですか?
デプロイは「プログラムをサーバーに配置する技術的な作業」、リリースは「サービスや機能を利用者に公開すること」です。デプロイしても機能を隠しておき、後日リリースする、という使い分けをする現場もあります。