WordPress (or other apps) staging (live and test site combination)
Cloudways definition of staging is somewhat different from other managed WP services like SiteGround and MT Premium WP. It would be great to have dual WP setup for live and test without cloning, and hopefully with easy/simple sync feature.
We have started working on the “Staging” feature, we are hoping to have it available by May end.
@Cloudways "We aim to be flexible on how people can use our platform…" Simple, integrated staging functionality would add flexibility, not limit it. Nobody is suggesting taking away existing functionality. It would be very helpful to have a button to clone an app (or server, for that matter) and prefix the domain(s), and another to replace the live version with the stage.
On some other hosts you can create a 'staging server'
This is essentially a clone of your application. The same as is currently available on Cloudways.
However what is missing is the ability to 'push' (or copy) just parts of the staging server (or app clone) to the live website.
Cloudways only has the ability to essentially switch which app is live or not live.
What would be better is the ability to copy parts of the Wordpress files and parts of the Wordpress database to the live website / app.
For example :
I create a clone of my live Wordpress site.
Meanwhile my existing live Wordpress site is live and customers are visiting the site, registering on the site and making orders. This is all being saved on the live Wordpress sites database.
But my clone Wordpress app doesn't have a record of all these new database entries.
So I'm working on my clone Wordpress app and I add some feature to it, test it and it's working.
So now I want to add these new feature to my live website. I can make this clone Wordpress app my live app, but then I lose all the new database entries... This is not an option.
I can copy just the files I've edited on my clone app to my live app. However what about the database entries I would have edited by installing these new features?
On another hosting provider they give you the ability to choose
1) Which folders you want to push
2) Which database tables you want to push.
If we had this option then the staging server would be much better.
Siteground has a staging feature which enables an "advanced push" to the live site. so if any users make any comments or things like that while you are working on the clone site, the push won't overwrite these comments. For example: A is live site, B is clone site. While I'm making changes to B, someone is using A and makes a comment. When I make B live, I lose that comment. Site Ground has a staging mechanism where you can push changes from B to A without losing that comment on A. It does it by doing a Diff to see differences between staging and live versions to let you choose which files/database tables/etc. that you do or do not want to push. Here's their youtube video: https://www.youtube.com/watch?v=hREPAiVLcOU
Bruce Munson commented
+1 on this
WP Admin commented
Some providers have options to deploy from staging to production with 1-2 clicks. In addition, there are options to:
- Deploy to production excluding certain DB tables, implementing only code/ftp changes. i.e.: deploy to production excluding _users; _postmeta; _comments; etc maintaining the production site's new posts, users, comments, etc (white the site was under development)
- When deploying, all URL's are automatically changed from the production domain, to dev sub-domain, and the other way around when deploying to production.
- Image based deployment: a 40MB DB with 4GB of files, takes aprox 15s to deploy.
It's not GIT, but for a 2-3 developer teams, it's extremely fast, convenient and easy.
I know Cloudways supports other applications apart from WordPress, but WP is the most common, mostly used and popular web developmet platform out there fight now.
Whilst your comment does point towards a good idea, it doesn't help managing staging / live databases.
Other hosting providers support this, it's a must have feature.
Database must be moved with drag and drop like pantheon or WP Engine.
I'd like to suggest a feature that provides a simple one click push to live from a cloned app. In particular for a WordPress app.
The cloning is great, and I understand this is the "staging" feature. But after I'm done developing on my cloned staging site, I would love to select an option that lets me make my cloned site overwrite my live site. Choose a server, choose an app to overwrite, and click go. Now everything I did on the clone is shown on the live site.
Currently I have to use the migration plugin, or change the domain mapping to make a clone take over the live site.
I also have a SiteGround account that offers one click staging, so a lot of what I imagine is similar to this.
Right now the usability sucks in the console when working with applications. If you create a new app, it redirects back to the server page after creating the app. So you have to navigate your way back to applications and select the newly added application from a dropdown.
There's no easy way to quickly go the application screen for a particular app. Loading the console already takes a long time, to have to select the server, then go to the app screen and then select the right application, all of this takes a lot of time and clicks.
A lot of the time it's confusing knowing what staged app I'm working with. When creating an app it would be great to prompt for a handle that refers to the application, rather than having to do this adhoc. Even better would be to have part of the domain name contain a user-defined string.
Instead of names like:
It could be slightly improved with:
that isnt a great answer but definitely a great question/improvement idea. I have had the same frustration.
AdminCloudways (Admin, Cloudways) commented
We aim to be flexible on how people can use our platform, so git integration, server cloning and application cloning give lots of room for it. Understand that no so convenient as having dev/test/prod envs by default when you launch your app as others are doing but on the other side gives freedom to organize things in your own way (i.e. staging, test in one cloud provider and prod in another like some people do).
Guess you have taken a look at:
To have an idea about what people is doing.
In any case noted!