Engineering(SRE)、ソフトウェア開発、クラウドコンピューティングなどについて、吉澤が調べたり試したことを書いていくブログです。サーバを書く」というのを当面の目標にしています。経験者にはとっつきやすい代物です。サーバはすぐ書けました。相当するものがないんですね。ような流儀ではうまくいかないことがわかってきました。今回はそんな話をします。ない)普通のサーバにデプロイする方法が2通り紹介されています。いうコマンドで起動するのですが、本番環境でも同じように起動する、という方法です。以下のようにすると、デーモンとしても起動できます。アプリで普通必要になるものを、自前で用意する必要がでてきます。記録しておかないと停止できませんが、そういう処理を自分で書く必要があります。使って、出力先ファイルを指定しておく必要があります。まとめるためのビルドツールです。コマンドを実行すると、以下のようなディレクトリ構成でファイルが生成されます。このファイル自身を除く配布物すべてが入っています。stopを実行するとサーバが停止します。ディレクトリ以下に出力されます。凄い点として、アプリケーションの無停止アップグレードが可能です。やるような「一瞬止めて、シンボリックリンクの向き先を変えて、再起動」という無停止っぽいアップグレードではなくて、本当に無停止で、内部状態も含めてアップグレードする、という機能です。使うんだし、今回はこちらの方法でデプロイすることにしました。自動化しようとするとうまくいかない(なんで??)上記の手順をコマンドで手で打ちながら確認して、「なるほど完全に理解した。コマンド実行のところでエラーメッセージが出て失敗しました。同じコマンドを手で打ったところ、こんなエラーメッセージでした。{error,{enoent,"/var/www/admiral_stats_api/releases/0.0.1/relup"}}一体何なのこれ......。コマンドを実行しなければならない」らしいです。実行したところ、コンソール出力は以下のようになっていました。アップグレードのためのファイルが生成されたことを示すメッセージが増えました。リリースするためには、ビルド時に、少なくとも1つ前のバージョンのビルド結果をローカルに置いておく必要があります。コマンドを使ってアップグレードする限り、これは必須のようです。するならこの手は使えません。登録しなければならない、というデメリットは残ります。起動する方法を採用して、起動スクリプトは自分で書いてるんでしょうか。経験者の方にぜひ教えてほしいです......。この記事の続き続きを書きました。解説が8ページほど書かれています。内部状態をマイグレートするために必要なコードについても若干説明あり。Kindle版この商品を含むブログを見るまだざっと読んだだけですが、デプロイに関する話題は(少なくとも独立した節は)なさそうです。はてなブログProMuziとも呼ばれる人。いまはBacklogのSREやってます。(1)注目記事リンク無印吉澤(旧)はてなブログをはじめよう!muziyoshizさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。