WordPress CI/CD

Virtuozzo Application Platform for WordPress provides a dedicated add-on that can help you implement the Continuous Integration / Continuous Deployment (CI/CD) processes on the platform. Also, the cloning functionality makes it extremely easy to create testing environments that are exact copies of your existing WordPress instance.

Refer to the appropriate sections below for more information:

Configuring CI/CD with Git-Push-Deploy Add-On

You can read about the process in detail in the dedicated blog article. In general, you need to install the Git-Push-Deploy add-on that will connect the WordPress environment with your Git account and automatically deploy any code changes.

Git-Push-Deploy add-on

Tip: It is recommended to try your adjustments (or custom WordPress implementation) on the test environment first to ensure that changes won’t break the existing application.

Simply update your code, make commits as you usually do, and all the changes will automatically be pushed directly to your WordPress environment’s application server ROOT folder. With the add-on, you don’t need to switch between processes or make manual updates, which eliminates human errors and accelerates time to market for your application. Additionally, benefiting from the ZDT deployment feature available for PHP servers, your customers won’t experience any downtime even on the single-node installations.

Creating Test Environment with Clone Functionality

Whenever you want to add some functionality to your WordPress instance, it is common practice to test changes in the separate environment. This approach ensures that existing websites and customers are not affected by misconfiguration during the development process.

For such cases, the platform provides a special option - environment cloning, which allows creating a complete copy of an already existing project in just a couple of clicks.

For more complex and sophisticated projects (which implies the involvement of the whole development team), multiple copies of your application are recommended. The most common application lifecycle implementation involves the following stages:

  • development - for developers to create and modify features
  • testing - for quality assurance to discover and analyze possible issues
  • production - the latest actual application version, provisioned for end-customers use

Clone Environment

In order to create an environment copy, follow the next simple steps:

1. Hover over the environment you want to duplicate and click the appropriate Clone Environment button:

clone environment button

2. Within the pop-up, specify a name for the environment copy (or leave the default one) and click Clone.

clone environment confirmation

3. The environment will be duplicated and ready for use in a few minutes.

Be aware that the IP addresses and hostnames of the clone will differ from the initial environment. So, if such values are “hardcoded” within configuration files, they should be re-adjusted manually.

cloned environment in dashboard

Now, you can apply changes, add new features, and perform load testing, all without affecting the original environment.

Swap IP

Once you are satisfied with the changes to your testing environment, you may want to update the production environment. Obviously, you want to perform this imperceptibly for the customers, with minimum (or ideally without) interruption of the user experience. One of the ways to achieve this goal is to swap domains or IPs of the production and testing environments, which will seamlessly reroute traffic to the newer version of your project.

Read the linked Swap Domain and Swap IP documentation pages for more information on the corresponding operations.

What’s next?