Project:Develop and Test Mediawiki Code on Production: Difference between revisions
From MaRDI portal
No edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
To test changes on MediaWiki-Extensions and the MediaWiki configuration on production system, IntellJ IDE's can be setup to synchronize | To test changes on MediaWiki-Extensions and the MediaWiki configuration on production system, IntellJ IDE's can be setup to synchronize | ||
files automatically with remote-connections. This shows how to enable such a setup on base of the example of | files automatically with remote-connections. This shows how to enable such a setup on base of the example of creating a development setup with MathSearch-Mediawiki extension and/or configuation-testing for LocalSettings.d on mardi01. | ||
creating a development setup | |||
===== Prerequisites: ===== | ===== Prerequisites: ===== | ||
* Working ssh connection to mardi01 on your development machine, in many cases this includes VPN access. | * Working ssh connection to mardi01 on your development machine, in many cases this includes VPN access. | ||
* Git and IntelliJ installed on development machine | * Git and IntelliJ (or probably other JetBrains IDE) installed on development machine | ||
===== Information Sources: ===== | ===== Information Sources: ===== | ||
Line 21: | Line 19: | ||
**In the mappings tab - Set the root path and the folder mappings here according to the extensions which shall get synced on the server | **In the mappings tab - Set the root path and the folder mappings here according to the extensions which shall get synced on the server | ||
**For the mappings of extension, it is recommended to specify a path in your user's directory, so there are permissions to modify the files. | **For the mappings of extension, it is recommended to specify a path in your user's directory, so there are permissions to modify the files. | ||
***It is advised to locate your testing source code in your personal home folder, i.e.: /home/jstegemu/development/MathSearch | |||
*In IDE configuration in "File | Settings | Build, Execution, Deployment | Deployment | Options", in the setting "Upload changed files .." uploading behavior can be set | *In IDE configuration in "File | Settings | Build, Execution, Deployment | Deployment | Options", in the setting "Upload changed files .." uploading behavior can be set | ||
**Recommendation is to set it here to "On explicit save action", so files are not synced while writing and cause the portal to crash because typos | **Recommendation is to set it here to "On explicit save action", so files are not synced while writing and cause the portal to crash because typos | ||
Line 27: | Line 26: | ||
* login to mardi01 with mardi-test-user | * login to mardi01 with mardi-test-user | ||
* edit the file (or similar) /home/mardi-test-user/portal-compose/docker-compose.override.yml | * edit the file (or similar) /home/mardi-test-user/portal-compose/docker-compose.override.yml | ||
* add a volumes-mapping entry for wikibase which maps your local changes to exensions, example mappings | ** add a volumes-mapping entry for wikibase which maps your local changes to exensions, example mappings | ||
** Example for a mediawiki-extension: - /home/jstegemu/development/MathSearch:/var/www/html/extensions/MathSearch | *** Example for a mediawiki-extension: - /home/jstegemu/development/MathSearch:/var/www/html/extensions/MathSearch | ||
** Example for Settings: - /home/jstegemu/development/LocalSettings.d:/var/www/html/LocalSettings.d | *** Example for Settings: - /home/jstegemu/development/LocalSettings.d:/var/www/html/LocalSettings.d | ||
* | * It can take up to 10 minutes (check current timing with crontab -l on mardi01) until the override is read by portal-compose | ||
* Restart wikibase to make it load the new override after this time. | |||
'''For the configuration mapping to LocalSettings.d make sure to remove the mapping docker-compose.override.yml on mardi01 after testing the configuration!''' | '''For the configuration mapping to LocalSettings.d make sure to remove the mapping docker-compose.override.yml on mardi01 after testing the configuration!''' |
Latest revision as of 11:53, 22 July 2022
To test changes on MediaWiki-Extensions and the MediaWiki configuration on production system, IntellJ IDE's can be setup to synchronize
files automatically with remote-connections. This shows how to enable such a setup on base of the example of creating a development setup with MathSearch-Mediawiki extension and/or configuation-testing for LocalSettings.d on mardi01.
Prerequisites:
- Working ssh connection to mardi01 on your development machine, in many cases this includes VPN access.
- Git and IntelliJ (or probably other JetBrains IDE) installed on development machine
Information Sources:
- Most steps regarding the IDE setup are described here
Steps for the setup:
For IDE
- Create an ssh configuration in IntelliJ IDEA for mardi01: "File | Settings | Tools | SSH Configurations" (host: mardi01, user:your-username, ....)
- In IDE configuration in "File | Settings | Build, Execution, Deployment | Deployment" create a new setup for mardi01 with SFTP (there are probably other options, but this one worked in test)
- In the mappings tab - Set the root path and the folder mappings here according to the extensions which shall get synced on the server
- For the mappings of extension, it is recommended to specify a path in your user's directory, so there are permissions to modify the files.
- It is advised to locate your testing source code in your personal home folder, i.e.: /home/jstegemu/development/MathSearch
- In IDE configuration in "File | Settings | Build, Execution, Deployment | Deployment | Options", in the setting "Upload changed files .." uploading behavior can be set
- Recommendation is to set it here to "On explicit save action", so files are not synced while writing and cause the portal to crash because typos
- To upload all files from extension-folder once initially, folder can be clicked and 'deployment->upload to mardi01' can be pressed
On Mardi01
- login to mardi01 with mardi-test-user
- edit the file (or similar) /home/mardi-test-user/portal-compose/docker-compose.override.yml
- add a volumes-mapping entry for wikibase which maps your local changes to exensions, example mappings
- Example for a mediawiki-extension: - /home/jstegemu/development/MathSearch:/var/www/html/extensions/MathSearch
- Example for Settings: - /home/jstegemu/development/LocalSettings.d:/var/www/html/LocalSettings.d
- add a volumes-mapping entry for wikibase which maps your local changes to exensions, example mappings
- It can take up to 10 minutes (check current timing with crontab -l on mardi01) until the override is read by portal-compose
- Restart wikibase to make it load the new override after this time.
For the configuration mapping to LocalSettings.d make sure to remove the mapping docker-compose.override.yml on mardi01 after testing the configuration!