当WordPress在您自己的SVN资源库中时管理更新

时间:2011-01-14 作者:tooshel

我为开发环境和生产环境下载并配置Wordpress。在一台服务器上安装后,我们将其签入subversion repo,然后在生产服务器上进行签出。部署完成。

问题是我必须更新的时候。我应该删除wp-includes和wp-admin,但如果我这样做,svn会变得疯狂。

处理Wordpress、subversion和多部署环境的一些策略是什么?

2 个回复
最合适的回答,由SO网友:Otto 整理而成

当然是外部的。建立您自己的SVN回购,然后将WP作为回购中的外部。我把它放进了一个/wp目录。您可以在此处作为外部访问WP SVN:http://core.svn.wordpress.org/

我倾向于使用行李箱。如果你真的非常想的话,你可以用树枝。分支会自动更新为次要版本(/branchs/3.0保留为3.0,然后是3.0.1、3.0.2等),新分支会为主要版本创建。

除此之外,我还创建了一个/名称内容目录,在那里我将放置我的自定义主题等。“名字”是你想要的任何东西。然后我可以使用自定义/wp配置。php将wp内容目录的位置更改为我的自定义目录,如下所示:

define( \'WP_CONTENT_DIR\', $_SERVER[\'DOCUMENT_ROOT\'] . \'/name-content\' );
define( \'WP_CONTENT_URL\', \'http://example.com/name-content\');
对于主题,它们直接进入/name content/themes下的repo(因为它们可能是网站定制的)。

我使用的任何插件都会为其创建一个/名称内容/插件目录,然后从http://plugins.svn.wordpress.org/pluginname/trunk 回购。如果您不喜欢运行trunk(危险之类的),那么您可以使用/标签/1.1或其他任何东西来代替它们。

有一点习惯。htaccess逻辑(repo的根目录中有.htaccess文件)将/wp设置为我的域的“根目录”,然后整个过程就完成了。实例要移动根目录的htaccess文件:

Options -Indexes
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/wp/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /wp/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ wp/index.php [L]
这允许/wp目录中的WordPress位于站点的根目录,并指向内容方面的名称content directory。这个htaccess不会重定向这些请求(因为文件存在),因此一切都能正常工作。

优点:当你想更新时,一个简单的svn升级会更新整个站点,在你摆弄外部等等以指向更新的版本之后(如果你太胆小而不能在主干上运行的话)。

SO网友:sanchothefat

我总是从wordpress退房。org的svn存储库,然后使用svn externals拉入我自己的主题/插件。您也不必使用externals,您可以在主WP签出的themes and plugins文件夹中签出自己的主题和插件作为自己的工作副本。

externals方法的一个优点是,您可以用一个命令更新所有内容,只需确保您正在签出自己的东西的正确版本。

转到主题/插件文件夹并执行以下操作:

sudo svn propedit svn:externals .
外部文件的结构应为:

my-theme                 http://svn.example.com/my-theme/tags/1.0
my-other-theme    -r102  http://svn.example.com/my-other-theme/trunk
Akismet作为外部插件包含在WP中,因此如果您导航到插件文件夹并运行propedit命令,您将看到一个示例。

svnbook有更多http://svnbook.red-bean.com/en/1.0/ch07s03.html

结束

相关推荐

WordPress中的单元测试教程和单元测试教程。svn.wordpress.org?

我开始学习了Selenium 和PHPUnit 我对实施我在WordPress项目中学到的东西很感兴趣。我看到了http://unit-test.svn.wordpress.org 想知道是否有关于如何使用它的教程或核心开发人员注释?