如何使用 Azure 管道将一个存储库中的文件和子目录与另一个存储库中的文件和目录同步?
How to use an Azure pipeline to sync a file and subdirectory in one repo with a file and directory in another repo?
所以我有 2 个回购协议,有点像这样:
/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 的项目 wiki。与其在 2 个地方物理维护我们的文档,或者不得不去一个单独的项目来更新它(这样的瓶颈意味着它永远不会更新),我想使用 Azure Pipeline 自动推送我们的任何文档更改将 RepoA 中的内容转至 RepoB 中的维基,让大家见多识广,开心快乐。
根据您的要求,您需要同步两个存储库(不同项目)中的文件。
没有现成的方法可以满足您的要求。
为了实现这个目标,您可以使用 Azure Pipeline 自动执行此操作。
步骤如下:
第 1 步:添加扩展名:Git Tools for Azure DevOps。你会得到任务:Git Publish Task
in Pipeline.
第 2 步:在管道中添加 Git 发布任务。
Git回购url示例:
https://{UserName}:{PAT(Personal Access Token)}@dev.azure.com/{Organization}/{Project}/_git/{RepoName}
Step3: 你需要在Pipeline中设置Trigger。
您可以设置分支和路径。当 fileA 或子文件夹路径中的文件发生更改时,将触发此管道并将更改推送到目标 repo。
如果您不想使用扩展,您可以尝试使用Git 命令来替换Git 发布任务。但是会稍微复杂一些
所以我有 2 个回购协议,有点像这样:
/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 的项目 wiki。与其在 2 个地方物理维护我们的文档,或者不得不去一个单独的项目来更新它(这样的瓶颈意味着它永远不会更新),我想使用 Azure Pipeline 自动推送我们的任何文档更改将 RepoA 中的内容转至 RepoB 中的维基,让大家见多识广,开心快乐。
根据您的要求,您需要同步两个存储库(不同项目)中的文件。
没有现成的方法可以满足您的要求。
为了实现这个目标,您可以使用 Azure Pipeline 自动执行此操作。
步骤如下:
第 1 步:添加扩展名:Git Tools for Azure DevOps。你会得到任务:Git Publish Task
in Pipeline.
第 2 步:在管道中添加 Git 发布任务。
Git回购url示例:
https://{UserName}:{PAT(Personal Access Token)}@dev.azure.com/{Organization}/{Project}/_git/{RepoName}
Step3: 你需要在Pipeline中设置Trigger。
您可以设置分支和路径。当 fileA 或子文件夹路径中的文件发生更改时,将触发此管道并将更改推送到目标 repo。
如果您不想使用扩展,您可以尝试使用Git 命令来替换Git 发布任务。但是会稍微复杂一些