This job is for creating a fully working sync which deploys changes from our development server onto production server. You would need to understand svn and file permissions quite good to be able to handle this job. Please read the details below so that you understand the details. Please don’t bid if you are not qualified for this job.
Some information on our setup and needs:
- The sync is for our Magento store (web server content)
- Development server is running on its own Amazon EC2 setup (Ubuntu), it also hosts the svn
- Developers has their own local setups which they have fetched using svn checkout from the repository
- So when developers make changes to our development Magento installation, they commit to the repository and changes are auto applied onto development server
- Production server is on its own dedicated server stationary in Norway (CentOS). As it is now, there is no sync available between the two servers.
- We need the possibility to sync the changes which are committed using svn on development server onto production
- Sync must, set production in maintenance mode, create snapshot, commit changes from repository (add, edit, delete), verify changes, clear cache, remove maintenance flag
Some issues I know that has been a problem, or is a problem:
- The new system admin did not think it through when he setup the production. As far as I know he did a copy of the development content and moved that to production without using svn for the deployment.
- The filestamp files/dir on production and development is not the same because he did it this way which results in conflicts
- He was not able to get the sync to delete files/dir on production which have been added to the development server.
- There are now several svn changesset waiting on getting deployed onto production from development server.
- There was an issue with config files and Magento backend configurations changes which changed files which was controlled by svn. They should now all be in the .svnignore list on both development and production.
Our system admin did not have the needed svn knowledge, so he was not able to get his sync script working correctly. The script should have worked like this:
Using SSH command: devsync update
- make backup of current files
- get the updated files from svn to buffer repository
- set maintenance flag
- sync files - flush caches
- commit changes
- remove maintenance flag
Using SSH command: devsync revert - will revert changes
Using SSH command: devsync dbrevert - will restore previous database
Our webmaster did suggest another way to approach the sync: Integrate Jenkins with Magento. Every time we want to update live site, we go to Jenkins server (GUI) to click BUILD button and it will automatically backup the whole site, deploy changes, clear cache, etc.
Some final instructions:
- The sync needs to be easy to use for someone with little knowledge (something like the above was meant to work)
- The job is urgent
- No room for any errors (the store is live)
Hoping for an professional person, if you are able to deliver as needed there would be more work if you are interested.