While working with my project, I can face the need to upgrade or modify it. And, of course, before applying the changes in production, they should be tested. With CloudJiffy, this can be easily accomplished by means of swapping domains among intermediate and production project versions.
With this functionality, end-users of my application won't experience any downtime, for example, deploy a new application version. I can stage my new application version in a test environment and consequently swap URLs with a production environment just in a few clicks.
- If I want to use the Swapping domains feature, do not enable Public IP for any node in my environments
- In case of the necessity to attach external IP address to the entry point of my environment (i.e. app server or balancer) after the swapping is already done, I'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 my CloudJiffy production environment with the needed application (i.e. which I want to update and test) deployed and running. In our case, it is called production.
2. Open the application in the browser to see that everything works.
3. Clone this environment to make its identical copy for adding new features, setting, updates and testing them. The cloned environment is an 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.
4. Click Open in browser button for my cloned environment to make sure that everything works fine.
Update the Application
- adding a Java project via Maven
adding a PHP project
2. Click Build and deploy for the new project. The project appears in the specified context.
3. Click Open in browser button for my updated project to make sure that everything works fine.
1. Open Settings of the cloned environment and bind the domain (for example, test.com) that I have purchased earlier.
Note that production environment also should have a custom domain bound before (for example, production.com).
More information about binding domains I can find in the Custom domains document.
2. Open the updated application in a web browser to see the applied changes.
The next step after testing the updates I've done is to swap domains.
1. Open the Settings () for one of my environments - production or cloned for testing (in our case we choose a production environment).
2. In the Custom domains section expand Swap domains menu.
3. Choose the environment with which I want to swap my 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.
4. Now I can navigate to production.com (my production environment custom domain) and see that my application has been already updated.