繁体   English   中英

将单个服务/项目文件夹移动/部署到 Git Mono 存储库中的不同环境

[英]Move/Deploy individual service/project folder to different environments in a Git Mono repo

目前,我们正在为我们在 azure devops(Git) 中的服务使用单一回购方法。 我们面临的一个问题是,由于它是单个存储库,我们无法一次将单个服务移动到不同的环境。

例如,我们有 Service 1(仍在开发中) Service 2(仍在开发中) Service 3(准备进行 qa)

我们的用例是我们只需要将与服务 3 相关的代码移动到 qa 或更高的环境中。 每个服务都有几个与该服务相关联的功能分支。 在功能开发之后,我们会将其合并到一个开发分支中。

我们在仅移动服务时想到的一种方法是从最初开始挑选提交,但正如您所见,这可能是非常乏味的方法。

所以我想知道有没有办法只将服务/项目文件夹移动到不同的环境。 在维护单一存储库时,我们是否需要遵循任何最佳实践。

我们没有内置选项来仅获取 Azure DevOps 管道中存储库的一部分。

作为一种解决方法,您可以选择禁用“获取源”步骤并通过在脚本中手动执行相应的 git 命令来仅获取您想要的源。

要禁用默认的“获取源”,只需在 checkout 语句中指定 none:

- checkout: none

然后使用git sparse-checkout仅获取部分 repo。

更多详细信息,您可以参考以下链接中的答案: 在 Azure DevOps Pipelines (GetSources) 中签出分支的一部分

最后还可以在CD发布中设置相应的CI触发器和目标环境。 或者使用多级管道

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM