将git repos组装成一个可部署的代码树。
castor的Python项目详细描述
提供了一种将各种git存储库组合为一个存储库的方法。就像子模块一样不烂。
用例:在部署之前,将wordpress与一些主题和插件缝合在一起。
用法
首先,您需要创建castor存储库。下面的命令将创建一个新的git 包含空Castorfile和预初始化的.gitignore的存储库。
castor init my-proj
然后,您需要编辑您的Castorfile。可能看起来像
注
post_freeze数组是可选的。它必须是一个数组,每个命令都将被执行 在执行castor freeze后在target目录中。
{ "lodge": [ { "target": "/", "version": "1.6.1.0", "repo": "https://github.com/PrestaShop/PrestaShop.git", "type": "git" }, { "target": "/themes/my-prestashop-theme", "version": "e0e7c15789e6ff674cd75cb24981155441c3df09", "repo": "git@bitbucket.org:activkonnect/my-prestashop-theme.git", "type": "git", "post_freeze": [ "composer update --no-dev" ] }, { "target": "/.htaccess", "type": "file", "source": "files/htaccess" } ] }
您的Castorfile已填写完毕,现在可以应用它了
castor apply
这将自动创建存储库层次结构、签出子模块等。 这个层次结构将是lodge目录。
如果要在apply上执行冻结后命令,请添加--exec-post-freeze 这样的论点:
castor apply --exec-post-freeze
现在,您可以将项目冻结到一个无git、可提交和可部署的源代码树中。 这将进入dam目录。
如果要在apply上执行冻结后命令,请添加--exec-post-freeze 这样的论点:
castor apply --exec-post-freeze
castor freeze
在开发过程中,可以使用lodge作为工作目录。如果您更新了 代码,您可以在git repos中提交。如果您只想更新上游代码,请查看新的 要使用的标记/提交。然后您可以再次使用castor freeze,它将更新 Castorfile自动使用最新的git头,以及dam目录。