While working with your project, you can face the need to upgrade or modify it. And, of course, before applying the changes on production, they should be tested. With CirrusGrid, this can be easily accomplished by means of swapping domains among intermediate and production project versions.

With this functionality, end-users of your application won’t experience any downtime when you, for example, deploy a new application version. You can stage your new application version in a test environment and consequently swap URLs with a production environment just in a few clicks.

Note:

  • If you want to use the Swapping domains feature, do not enable Public IP for any node in your environments
  • In case of the necessity to attach external IP address to the entry point of your environmnet (i.e. app server or balancer) after the swapping is already done, you’ll need to additionally state the proper CNAME record for it within the domains administration panel; otherwise, the requests will be sent to the “old” environment

So, let’s see how this actually works.

Create a Test Environment #

1. First of all, navigate to your CirrusGrid production environment with the needed application (i.e. which you want to update and test) deployed and running. In our case it is called production.

production environment

2. Open the application in browser to see that everything works.

production site

3. Clone this environment to make its identical copy for adding new features, setting, updates and testing them. Cloned environment is identical copy of the original environment including all data in the deployed packages, databases etc. Let’s call it testing.

Follow the link for more detailed instruction on cloning.

testing environment

4. Click Open in Browser button for your cloned environment to make sure that everything works fine.

testing site

Update the Application #

1. Make the needed changes in the project and add its new version to the cloned environment using GIT/SVN:

edit testing project

2. Click Build and deploy for the new project. The project appears in the specified context.

testing project changed

3. Click Open in Browser button for your updated project to make sure that everything works fine.

testing site updated

Bind Domains #

1. Open Settings of your cloned environment and bind the domain (for example, test.com) that you have purchased earlier.

bind test domain

Note that your production environment also should have a custom domain bound before (for example, production.com).

bind production domain

More information about binding domains you can find in the Custom domains document.

2. Open the updated application in a web browser to see the applied changes.

testing site domain

Swap Domains #

The next step after testing the updates you’ve done is to swap domains.

1. Open the Settings ( environment settings ) for one of your environments – production or cloned for testing (in our case we choose production environment).

2. In the Custom domains section expand Swap domains menu.

3. Choose the environment with which you want to swap your domains (in our case, testing environment) and press the Swap button. Right after that the external domain names on the two environments will be exchanged.

swap domains

4. Now you can navigate to production.com (your production environment custom domain) and see that your application has been already updated.

production site domain

If you experience any problems with a domain swap, you can appeal to our technical experts' assistance at Stackoverflow.

Powered by BetterDocs