cloudbees でダウンタイムなしでアプリを展開したい (継続的展開を使用しています) - しかし、アプリをウォームアップする時間が必要ですか?
また、状況がひどく悪くなった場合にすぐにロールバックできるようにしたいのですが、これを行う方法はありますか?
cloudbees でダウンタイムなしでアプリを展開したい (継続的展開を使用しています) - しかし、アプリをウォームアップする時間が必要ですか?
また、状況がひどく悪くなった場合にすぐにロールバックできるようにしたいのですが、これを行う方法はありますか?
あなたが望むのは、しかしそれを認識していないかもしれません - あなたが常にアクティブ/スタンバイアプリのペアを持っているブルーグリーンデプロイメントです - そして常にスタンバイにデプロイし、準備ができたらカットオーバーします.
より良い説明については、こちらを参照してください。
良いニュースです。このためのプラグインがここにあります。
Jenkins ビルドの一部としてこれを自動化することもできます。たとえば、フリースタイル ジョブ スクリプトで次のようなことを行います (これは、上記のリンクに従ってアプリをセットアップしたことを前提としています。
# INSTALL AND CONFIGURE BEES SDK
export BEES_HOME=/opt/cloudbees/cloudbees-sdk/
export PATH=$PATH:$BEES_HOME
if [ ! -d ~/.bees ]; then
bees init -f -a <account name> -ep us -k $BEES_API -s $BEES_SECRET
fi
bees plugin:install com.cloudbees.sdk.plugins:bg-plugin
# DEPLOY
bees app:bg:deploy -n <your app name> target/web-webapp.war
# WARM NEW SERVERS - for example - could be a smoke test here:
echo "Preparing new servers for router switch over..."
for i in {1..50}
do
curl -s "http://yourwebsite.com/" > /dev/null
sleep 5
done
# SWITCH ROUTER
echo "Switching router over to new servers..."
bees app:bg:switch -n <your app name> -f
# SHUTDOWN OLD SERVERS
echo "Shutting down old servers..."
bees app:bg:stop -n int -f