如何解决如何使用 Azure 管道将一个存储库中的文件和子目录与另一个存储库中的文件和目录同步?
所以我有 2 个 repos,有点像这样:
/repoA
/directoryA
/fileA
/subdirectoryA
...lots of files in here
/repoB
/directoryB
/fileB
...lots and lots and lots of other directories and files
我想要做的是同步 fileA
与 fileB
,并将 subdirectoryA
的所有内容与 directoryB
的所有内容同步,以便我推送的任何更改到 fileA
或 subdirectoryA
中的任何内容也将被 CI/CD 管道推送到 repoB 中的相应文件或目录。我不关心 repoB 中的任何其他文件或目录,所以我不想让它们弄乱我的 repoA。
我怎样才能做到这一点?
上下文:我使用的是 Azure DevOps,其中 RepoA 在 ProjectA 中,RepoB 在 ProjectB 中。 ProjectA 仅供我的团队使用,而 ProjectB 供公司其他人员使用; RepoB 实际上是 ProjectB 的项目维基。与其在 2 个地方物理维护我们的文档或不得不去一个单独的项目来更新它(这样的瓶颈意味着它永远不会更新),我想使用 Azure Pipeline 来自动推送我们的任何文档更改将 RepoA 中的内容转至 RepoB 中的 wiki,以便每个人都了解情况并感到高兴。
解决方法
根据您的要求,您需要同步两个 repos(不同项目)中的文件。
没有开箱即用的方法可以满足您的要求。
要实现此目标,您可以使用 Azure Pipeline 自动执行此操作。
步骤如下:
步骤 1:添加扩展名:Git Tools for Azure DevOps。您将获得任务:Git Publish Task
in Pipeline。
步骤 2:在流水线中添加 Git 发布任务。
Git Repo url 示例:
https://{UserName}:{PAT(Personal Access Token)}@dev.azure.com/{Organization}/{Project}/_git/{RepoName}
Step3:需要在 Pipeline 中设置 Trigger。
您可以设置分支和路径。当 fileA 或子文件夹路径中的文件发生更改时,将触发此管道并将更改推送到目标 repo。
如果不想使用扩展,可以尝试使用Git命令替换Git Publish任务。但是会稍微复杂一些
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。