Forked from derekcollison/Cloud Foundry Production Updates
Created
June 26, 2013 09:30
-
-
Save laiwei/5866091 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# vmc update is great for test and development, however it stops your old app and stages and starts the new one, | |
# resulting in dropped requests. | |
# If you want to update an application without dropping user requests, see below. | |
# NOTE: This change assumes your application can share services, etc with the new version. | |
# Assume my app is named foo | |
vmc push foo-v2 --url foov2.cloudfoundry.com | |
# New app is running under a different url that can be tested independently. | |
vmc map foo-v2 foo.cloudfoundry.com | |
# New app and old app are now fielding traffic to http://foo.cloudfoundry.com | |
vmc instances foo-v2 N | |
# Scale up if needed. | |
vmc instances foo 1 | |
# Scale old app down | |
vmc unmap foo foo.cloudfoundry.com | |
# New app is fielding all traffic at this point | |
# if you need to rollback. | |
vmc map foo foo.cloudfoundry.com | |
vmc unmap foo-v2 foo.cloudfoundry.com | |
# Now you can stop or delete the old version | |
vmc stop foo | |
# I leave these around, in a stopped state with no urls, but bound to any services needed. This way I can put new bits into this app's namespace with vmc update foo |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment