121,805通のメッセージ
第4話 Challenge

深夜1時のデプロイ

アラタ アラタ

デプロイという言葉を知ったのは、コードを書き始めて3週間目のことだった。

それまで、僕が作ったものはすべてローカル環境にしか存在しなかった。自分のMacBookの中だけ。ブラウザのアドレスバーに「localhost:3000」と表示されている画面を見て、「できた」と喜んでいた。

でも、localhost は自分だけの世界だ。誰にも見えない。

👨‍💻 ハッチ

で、それ公開しないの?

🧑‍💼 アラタ

公開? これ、人に見せられるレベルじゃないよ。

👨‍💻 ハッチ

レベルとか関係ないって。まず出せ。出してから直せ。

「出してから直せ」。エンジニアの世界では常識らしい。人事の世界では考えられない。評価制度を「出してから直す」なんてやったら、社員から総スカンを食う。

でも、ハッチの言うことには一理ある。完璧を待っていたら、永遠に出せない。人事だって、採用計画を完璧にしてから動き出す会社は、たいてい採用で負ける。


デプロイ先として選んだのは、Fly.ioだった。クロが提案してくれた。

正直、何をしているのかほとんどわかっていなかった。Dockerfileを作り、fly.tomlを設定し、コマンドを打ち込む。一つ一つの手順をクロに聞きながら、手探りで進めた。

🧑‍💼 アラタ

Dockerfileって何? 船のコンテナと関係ある?

🤖 クロ

いい直感です。Dockerは、アプリケーションを「コンテナ」という隔離された環境にパッケージングする技術です。船のコンテナのように、中身が何であっても同じ形で運べるイメージです。

Dockerfileは、そのコンテナの設計図にあたります。

🧑‍💼 アラタ

つまり、僕のアプリを箱に詰めて、インターネットに送り出すってこと?

🤖 クロ

概念的にはその理解で合っています。

箱に詰めてインターネットに送り出す。39歳の人事が作った、まだ中身がスカスカの箱を。


問題は山積みだった。

ビルドが通らない。環境変数が足りない。ポートの設定が違う。デプロイしても502エラーが出る。一つ直すと次の問題が出る。エラーの海の続きだ。

デプロイ試行ログ L1847 2026-02-08 22:31

$ fly deploy ==> Building image Error: failed to build: exit code: 1

$ fly deploy (2回目) Error: port mismatch

$ fly deploy (3回目) Error: health check failed

3回連続で失敗した。時計は22時31分。翌日は朝から全社会議がある。もうやめようかと思った。

でも、やめなかった。理由は単純で、「ここまで来て引き返すのは悔しい」からだ。人事の面接で候補者に「困難をどう乗り越えましたか?」と聞くたびに、立派な回答を期待していた自分が恥ずかしい。困難を乗り越えるのは、たいてい論理じゃない。悔しさだ。

🧑‍💼 アラタ

3回失敗した。もう一回だけ試す。何が間違ってるか、全部チェックしてほしい

🤖 クロ

わかりました。一つずつ確認しましょう。

  1. Dockerfileのポート設定 → 8080に統一されていますか?
  2. fly.tomlのinternal_port → 8080ですか?
  3. 環境変数 → 必要なものはすべて設定されていますか?
  4. ヘルスチェック → アプリが起動完了してからチェックが走るよう、grace_periodは十分ですか?

4つ全部に問題があった。4つ全部。自分の注意力のなさに呆れながら、一つずつ直した。


デプロイ成功 L1923 2026-02-09 00:47

$ fly deploy ==> Building image ==> Pushing image ==> Creating release ==> Monitoring deployment 1 desired, 1 placed, 1 healthy, 0 unhealthy —> v1 deployed successfully

午前0時47分。

「deployed successfully」。

画面に表示されたその3単語を、僕は5回くらい読み直した。deployed。successfully。デプロイ。成功。

ブラウザにURLを入力した。自分が作ったページが表示された。localhostじゃない。インターネット上の、本物のURLに。

🧑‍💼 アラタ

出た。出てる。これ、誰でも見れるの?

🤖 クロ

はい、インターネットに接続できる人なら誰でもアクセスできます。おめでとうございます、初めてのデプロイ成功ですね。

おめでとうございます。AIにおめでとうと言われて、少し泣きそうになるとは思わなかった。

すぐにハッチにURLを送った。深夜1時を回っていたのに。

🧑‍💼 アラタ

見て。デプロイした。

👨‍💻 ハッチ

お、マジか。深夜に何やってんだよ笑

…見た。ちゃんと表示されてるじゃん。おめでとう。

🧑‍💼 アラタ

ありがとう。明日7時起きなのに、なんでこんな時間まで。

👨‍💻 ハッチ

それがプログラミングだよ。時間の感覚なくなるだろ?

時間の感覚がなくなる。本当にそうだった。22時に「もう少しだけ」と思ってから、気づいたら午前1時。人事の仕事は基本的に定時内で終わる。残業があっても、21時には必ず帰る。なのに、プログラミングは深夜1時になっても終わらない。終わらないんじゃなく、終わりたくないのだ。


翌朝、5時間の睡眠で全社会議に出た。眠い目をこすりながら、経営陣の話を聞いていた。

「デジタルトランスフォーメーションを推進する」と社長が言った。DX。よく聞く言葉だ。でも、その言葉の意味が、昨夜デプロイを経験した今の僕と、1ヶ月前の僕とでは、まったく違って聞こえた。

DXは「デジタルを使って仕事を変える」ことじゃない。「自分自身がデジタルの側に立つ」ことだ。会議室で他人事のようにDXを語るのと、深夜1時にデプロイボタンを押すのは、まったく別の経験だ。

デプロイ後のメモ L1956 2026-02-09 01:12

初デプロイ完了。 所要時間: 約4時間(22時〜翌1時) 失敗回数: 4回 成功したときの感情: 言葉にならない 明日の全社会議: 寝不足確定 後悔: なし

後悔はない。

4時間かけて4回失敗して、深夜1時にようやく成功した。効率は最悪だ。でも、自分が書いたコードがインターネット上で動いている。39歳の人事が作ったものが、世界のどこからでもアクセスできる場所にある。

これが「ものを作る」ということなのかと、ようやく少しだけわかった気がした。

そして、ここから睡眠不足の日々が始まることを、このときの僕はまだ知らなかった。

デプロイ · 深夜 · 達成

あわせて読む

シリーズ一覧を見る →