我在github上开发了我的插件,但是在部署时,我必须以某种方式将所做的更改复制到Wordpress SVN中。目前,我手动执行此操作,并分别复制每个目录中的每个文件,但这既耗时又容易出错。
我已经看过并尝试了一些脚本,但是我认为我必须在错误的环境下运行它们,因为它们要么出错要么无法正确复制文件。
所以我的问题是,有人能自动实现吗?如果是,您是如何做到的?
谢谢!
我在github上开发了我的插件,但是在部署时,我必须以某种方式将所做的更改复制到Wordpress SVN中。目前,我手动执行此操作,并分别复制每个目录中的每个文件,但这既耗时又容易出错。
我已经看过并尝试了一些脚本,但是我认为我必须在错误的环境下运行它们,因为它们要么出错要么无法正确复制文件。
所以我的问题是,有人能自动实现吗?如果是,您是如何做到的?
谢谢!
Answers:
请参阅我们团队的同事提供的本教程:http : //www.farbeyondprogramming.com/2011/09/81-how-to-deploy-a-wordpress-plugin-with-git-svn
但他不使用该解决方案,它更容易分开工作:(
阅读这些回复后,我将我的一个插件推送到GitHub并编写了release.sh脚本。这个脚本使用得到我的插件的部分结账从plugins.svn.wordpress.org --depth immediates
,并在更新文件trunk/
和assets/
。使用wordpress.org存储库标记版本,而不是保留开发历史记录,这应该简化对svn的定期推送:
./release.sh
svn cp trunk tags/0.6
svn ci "Sending 0.6 from https://github.com/foo/bar to wordpress.org"
通用性更高的版本可能与更广泛的插件配合使用,处理已删除的文件并根据git标签自动更新svn标签。
有关详细说明,请参见如何从@EAMann 发布WordPress插件– Git。
这个问题很老,但是现在该解决方案现在可以通过GitHub操作使用。最近,GitHub为GitHub存储库添加了Github Actions的自动化工作流。
著名的公司10up创建了“ Action WordPress Plugin Deploy”。
设置非常容易。正如@otto所说,我们不需要将每个更改都推送到svn,因此,我们可以在github上创建新标签的同时设置自动化。
因此,当我们创建新的发布标签时,我们的github插件会自动将代码推送到WordPress存储库。
有用的链接:
我不会自动执行此操作,但这很简单:
将SVN truck和Git master检出在同一目录中。将Git几乎用于所有内容,就像使用任何仅Git的项目一样。
将设置stable tag
为trunk
,然后准备进行释放时,将其标记在Git中,然后立即推到行李箱。不必担心使用SVN /tags
,因为您的发布历史记录在Git(和Github)中是安全的。
就是这样
把它清理干净,我想补充.svn
到.gitignore
,和.git
(与tests/
,phpunit.xml
等)通过SVN忽视。
release.sh脚本实际上只不过是以下内容(一旦代码中的版本号已更新,并且全部提交给Git):
git tag $1
svn ci -m"Release: $1"