【发布时间】:2020-09-30 02:44:16
【问题描述】:
我们在本地服务器上有一个自托管的构建代理。
我们通常有一个庞大的代码库,过去在 TFS2013 构建代理中遵循这种机制:
- 每日签到已构建到 c:\work\tfs\(大约需要 5 分钟)
- 每晚都会运行一个批处理文件,对这些文件夹执行相同的构建,使用相同的源(它们已经是 CI 构建中的“最新”),并构建安装程序。将文件复制到网络位置,并向团队发送电子邮件,详细说明构建成功/失败。 (大约需要 40 分钟)
关键在于,对于每晚构建,无需获取最新的源代码,所需的磁盘空间也不会增加太多。仅由安装程序尺寸决定。
为了使用 Azure Devops 复制这一点,我创建了两个管道。 在经典编辑器中使用 MSBuild 任务执行 CI 的一个管道 - 效果很好 经典编辑器中的另一个管道运行我们现有的 powershell 脚本,安排在晚上 9 点 - 效果很好
但是,即使我的代理不支持并行构建,正在发生的事情是: CI 管道的文件夹是 c:\work\1\ Nightly 构建文件夹是 c:\work\2\
这使我们需要的磁盘空间量翻了一番(10gb 到 20gb) 它们是相同的代码文件,只是构建方式不同。
我一直在努力寻找一种方式对代理说“请为所有管道使用相同的源文件夹”
这是什么设置,否则我们必须向服务提供商支付额外的 GB 存储空间。
或者我是否需要将我的经典管道更改为 Yaml 并以某种方式有条件地分支构建,以便它知道它正在被安排并做一些不同的事情? 或者,停止使用 Pipeline 进行计划构建,并像以前一样在 Windows 中使用任务计划程序?
(我确实尝试过寻找同样的问题 - 我确定我不能是唯一的问题)。
【问题讨论】:
标签: azure azure-devops azure-devops-self-hosted-agent