【发布时间】:2016-10-01 09:30:48
【问题描述】:
我正在尝试在 aws-opworks 上设置与 Git、Chef 的持续集成。
要签出 git 中的特定文件夹,请说 node 到 "node_path"。我可以将destination: 标签用于destination directory,但我不知道如何在git 中指定source 目录。
node_path = "/my/home/MyPrj/node"
git node_path do
repository "https://something.com/MyCo/MyPrj.git"
reference "prod"
action :sync
destination : node_path
end
这里的目标文件夹node 是符号链接。我可以 git check out 到一个文件夹,识别修改后的代码片段,然后复制新文件。但我希望这由action :sync 自动完成 - 怎么做?
我使用的参考文献是:
【问题讨论】:
-
您是说要检出项目根目录以外的目录吗?你能告诉我们如何在不破坏
.git目录的情况下使用 git 本身执行此操作吗? -
我在这里查看了堆栈溢出并完成了它。 [可能链接是] (stackoverflow.com/questions/10124223/…)
-
Chef git 资源不会这样做。 (它甚至不支持 fetch,更不用说子目录检出。)您需要使用 execute 或 bash_block 资源来执行这些 git 命令。
-
我在目的地遇到语法错误:node_path。我认为它需要一个字符串而不是变量。有人可以帮忙吗?
标签: git chef-infra directory aws-opsworks