如何从adf_publish分支仅合并指定Azure Data Factory流水线及关联组件到Prod分支
单ADF流水线及关联组件定向合并方案
方法1:Azure DevOps UI操作(无命令行要求)
- 从Prod分支新建临时工作分支,命名可自定义如
temp/single-adf-pipeline-deploy - 进入临时分支的文件管理界面,按ADF资源路径逐个导入目标文件:
- 找到流水线目录
/pipelines,上传adf_publish分支中对应流水线的JSON文件 - 找到数据集目录
/datasets,依次上传8个关联数据集的JSON文件 - 找到链接服务目录
/linkedServices,上传对应Linked Service的JSON文件
所有文件内容需和adf_publish分支中的版本完全一致,不要手动修改内容
- 找到流水线目录
- 文件导入完成后提交临时分支变更,直接向Prod分支发起PR,此时PR仅包含你选中的10个目标文件,审核通过即可合并。
方法2:Visual Studio Code操作
- 本地克隆目标仓库后用VS Code打开,切换到Prod分支并拉取最新代码:
git checkout prod git pull origin prod - 新建临时分支并切换:
git checkout -b temp/single-adf-pipeline-deploy - 从adf_publish分支拉取指定目标文件到当前分支(替换下方路径为你的实际资源路径,补充全8个数据集的路径):
git checkout origin/adf_publish -- pipelines/目标流水线名.json datasets/数据集1.json datasets/数据集2.json datasets/数据集3.json datasets/数据集4.json datasets/数据集5.json datasets/数据集6.json datasets/数据集7.json datasets/数据集8.json linkedServices/目标链接服务名.json - 执行
git status确认仅10个目标文件被变更,无多余文件 - 提交变更并推送到远程仓库:
git add . git commit -m "部署XX流水线及关联数据集、链接服务" git push origin temp/single-adf-pipeline-deploy - 回到Azure DevOps为该临时分支创建向Prod的PR,审核通过后合并即可。
之前cherry pick失败的原因是cherry pick为提交粒度合并,若目标流水线和其他不需要的内容属于同一提交,会同步整次提交的所有变更,上述两种方法均为文件粒度的定向拉取,可完全规避该问题。
内容的提问来源于stack exchange,提问作者Mariya
相关产品推荐
相关产品推荐

