How are people handling content management system production staging?

寵の児 提交于 2019-11-28 16:42:09
Jeremy French

I have answered a question on DB deployment strategies.

There is also a question on code deployment.

Where I work we are working on a fairly large Drupal deployment. We have roughly the following setup.

All developers have a local sandbox (Drupal + DB). The commit code to a branch that is shared among all of the other developers (there are around 15 of us). This includes configuration changes which are performed by update functions.

When developers do a svn up, they also run update.php to perform any configuration changes locally.

We have a sprint testing system which runs simpletest and can be used for user testing.

At the end of a sprint (we use scrum), we merge the branch into trunk, and run tests on this.

We then tag this as a release and deploy it to live (using Capistrano), finally run update.php on live to apply configuration changes to live.

Any emergency fixes get deployed from trunk to live as a dot release 7.1 etc.

If you want any more detail then please leave a comment.

After investing a few weeks getting over the Drupal learning curve, the "too much configuration is stored in the DB" issue is very disconcerting if you're building a site of any complexity.

Take a look at the work that Development Seed is doing to work around this problem. They are leading the development of the Context, Features, and Spaces modules that work together to store configuration data in modules (outside of the DB) so that it can be versioned with the code.

Currently I am using Drupal. I have had a very hard time finding how the community solves this problem.

It's one of the weaknesses of Drupal; It really doesn't deal properly with this matter. It's particularly hard to sort out because a large part of the configuration of Drupal resides in the database.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!