【发布时间】:2019-08-05 14:45:25
【问题描述】:
我的存储库设置类似于以下内容:
repo_base
- artwork
- app
- designsystem
- api
由于 repo 中的每个其他文件夹(例如 app、api、designsystem)都依赖于 artwork,因此我在本地运行时有符号链接。这工作正常,因为designsystem 子目录中images 的路径类似于../../artwork。当您签出存储库时,整个树都被签出,因此符号链接指向正确的目录。
但是,当我使用 capistrano 进行部署时,我使用 :repo_tree 仅部署整个 monorepo 的一部分。例如,designsystem 文件夹的 deploy.rb 脚本如下所示:
# config valid for current version and patch releases of Capistrano
lock "~> 3.11.0"
set :application, "designsystem"
set :repo_url, "git@gitlab.com:myuser/mymonorepo"
set :deploy_to, "/var/www/someplace.net/designsystem.someplace.net"
set :deploy_via, "remote_cache_with_project_root"
set :repo_tree, 'designsystem'
set :log_level, :error
before 'deploy:set_current_revision', 'deploy:buildMonolith'
当然,问题在于这只会部署designsystem 子目录。因此,符号链接无效,实际上在建筑物中被跳过(buildMonolith 步骤)。
我想知道如何让 capistrano 检出 另一个 子目录 artwork,并将其放在存储库源代码树中的某个位置。
【问题讨论】:
标签: capistrano