AWSにElastic Load Balancerがあります。私はNode.jsのコードは、私は自分のコードを更新するために、PM2を使用している3つのインスタンスに展開してありますが、私はこのように手動で実行する必要があります。 複数のインスタンスでnode.jsコードを更新
- 接続をSSHで各マシンに各マシンは
ありがとうございました。
AWSにElastic Load Balancerがあります。私はNode.jsのコードは、私は自分のコードを更新するために、PM2を使用している3つのインスタンスに展開してありますが、私はこのように手動で実行する必要があります。 複数のインスタンスでnode.jsコードを更新
ありがとうございました。
あなたはちょうどこの解決する例bash
ためでスクリプト書くことができます:あなたはプルをgitのとリロードするコードを追加することができますローカルupdate.sh
あなたに続いて
# This will run your local script update.sh on the remote
ssh serverIp1 "bash -s" < ./update.sh
を:
# This code will run on the remote
git pull
# Update
# Other commands to run on remote host
することができますまた、
ssh serverIp1 "bash -s" < ./update.sh
ssh serverIp2 "bash -s" < ./update.sh
ssh serverIp3 "bash -s" < ./update.sh
スクリプトをすべてのマシンで実行します。またはより良いイベント:
for ip in serverIp1 serverIp2 serverIp3; do
(ssh $ip "bash -s" < ./update.sh)
done
あなたは「純粋な」ノードソリューション(ないインスタンス上の余分なサービスの多く)を使用している場合は特に、代替は、ElasticBeanstalkあります。 beanstalkでは、プロジェクトのgit refまたはZIPファイルを提供し、デプロイメントを処理します(新しいインスタンスの起動、ヘルスチェック、ロードバランスの取得、古いインスタンスの削除など)。いくつかの点で、自動化されています
回答ありがとうございますが、私にとって最良の選択肢はAWS CodeDeployだと思います。
私は、これは前に質問をする見つけることができませんでした、なぜ私にはわからない...
あなたはPM2のドキュメントを見たことがありますか? [配備](http://pm2.keymetrics.io/docs/usage/deployment/)のセクションがあります – Seth
@Sethあなたのコメントは最善の答えです;) – chemitaxis