Swap Domains

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 Jelastic, this can be easily accomplished by means of swapping domains among intermediate and production project veriosns.

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 Jelastic 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.

external url

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.

custom domain

Update the Application

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

swap domains

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

update project

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

external urls

Bind Domains

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

bind domain

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

external domain name

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.

external domains

Swap Domains

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

1. Open the 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.

swapping domains

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

external domain name

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