today i had to upgrade a wordpress blog with changes from an outside developer. my current place of employment doesn’t really use much in the way of revision control and automated deployment.
here’s how the changes went today:
outside developer let’s me know that they have completed changes in their development environment via basecamp.
i send a tarball of the docroot along with a dump of the SQL db to basecamp.
they apply their changes to the docroot and db, upload them to basecamp.
download these new files to my local computer, then scp them to the server.
i backup the old docroot and db, then rsync the changes from the tarballed docroot. then i drop and reimport the new db.
that’s a lot of steps to be honest, if we used a centralized repository we could have really simplified this to the developer pushing their committed changes along with a db dump. i could have pulled the changes with git and then imported the database.
i probably should have demanded some form of revision and deployment method earlier in the process, but to be honest i was not part of the contractual discussions between the developer (which also acts as a marketing company) and my employer. that’s where the third wall sometimes has to be respected. there are decisions at times that are made that are outside of the scope of what the sysadmin can do simply because project managers cannot think deeply enough about how to easily implement a new piece of code their developers create.