web-dev-qa-db-ja.com

各サーバー間でAWSOpsWorksのS3アーカイブデプロイメントの一貫したデプロイメントディレクトリを作成するにはどうすればよいですか?

S3アーカイブデプロイメントアプリを使用して、ビルドプロセスから生成されたZipファイルをデプロイしています。複数のサーバーに展開すると、展開によって生成される絶対パスがサーバーごとに異なることに気付きます。どうやらパスはデプロイ時間を使用しており、各サーバーは異なる秒数でアプリをデプロイできます。

例えば.

Server1: /srv/www/myapp/releases/20141112085530/
Server2: /srv/www/myapp/releases/20141112085520/
Server3: /srv/www/myapp/releases/20141112085515/

アプリには、アプリの絶対パスを必要とするスクリプトがあるため、スクリプトの戻り値はサーバーごとに異なります。非スティッキーセッションELBを使用すると、これは不便になります。

私の現在の解決策は、スクリプトが絶対パスではなく、ビルドごとに生成されたハッシュを必要とすることです。

しかし、S3デプロイメントの各サーバーでデプロイメントの絶対パスを一貫させるようにOpsWorksを構成する最小限の方法があるかどうか疑問に思っています。

1
Petra Barus

アプリの現在のバージョンは、アプリのディレクトリにあるcurrentシンボリックリンクを介してシンボリックリンクされます。そう srv/www/myapp/current(現在実行中のアプリのバージョン)にリンクします

1
RyanWilcox