Topic on Project:Support desk

What is the DevOps practice for websites on virtual machine server

2
Timingliu (talkcontribs)

I am running a non-profit MediaWiki website 1.34 that involves both database updates and code changes. How can I test that the website is running properly before I release it?

A few questions that I have:

1. Current DevOps guides focus on code maintainence, but given that I sometimes need to update the MySQL database when I change the code (e.g. installing an extension), how can I synchronize the database change between my local machine and the VM?

2. How can I synchronize system changes (e.g. Apache2 server settings)

3. LocalSettings.php contains sensitive information and should not be shared on repositories, but I often need to change the setting during development. What is the best practice to keep it only on VM? Use a secret.php file and load it with LocalSetting.php?


Bawolff (talkcontribs)

for 1) typically people have separate testing databases if they want a separate staging system.

2) generally you do a change on your testing environment, and then later on your real environment. If it was synced automatically there wouldnt be a point of having a separate staging env. This can be made easier by using a configuration system like puppet where you can write your config as code, and check it into git, etc

for 3) yes, loading a SecretSettings.php via the require directive is the most common method. There are other methods for provisioning secrets but they are usually tied to some deployment system.

Reply to "What is the DevOps practice for websites on virtual machine server"