使用 git 和 CHEF 部署单个文件

使用 git 和 CHEF 部署单个文件

我对 chef (以及 git) 还很陌生,所以如果这个问题非常简单,请原谅我:

使用 SVN 作为我的存储库,我可以在节点上运行我的配方时使用 svn 资源来检出文件。现在,我想转到 git(我有一个本地 gitlab 服务器)并且我想做同样的事情,但似乎我需要在我的配方中检出完整的 .git 存储库,即使只有一个文件被更新并且我只想部署它?

我说的对吗或者我遗漏了什么?

谢谢!

答案1

如果我正确理解了你的问题。如果你是第一次将文件上传到 git repo,则需要上传完整的 .git 存储库。

除此之外,如果您创建了任何新文件,那么只有新文件或文件需要推送到 git 存储库。

运行以下命令来检查与 git 相关的更改。

如果您已在本地机器上添加了 git repo,只需在本地 git 存储库的根目录下运行“git status”,它就会告诉您哪些文件是新的并且需要推送。

如果您有输出文件,只需运行“git add”。

然后“git commit -m“你对该文件或其中的更改的评论”

最后运行“git push”

希望它能对你有所帮助。

谢谢

答案2

:export您可以执行不下载.git 工件的操作。

参考https://docs.chef.io/resource_git.html

您可以使用以下命令从 git 检索单个文件。

git archive --remote=ssh://host/pathto/repo.git HEAD README.md

参考

相关内容