问题描述
是Azure DevOps的新手,正在为一个使用Azure DevOps的.NET Web应用程序创建第一个构建/发布流水线。在下面的图片中,用户添加了一些构建步骤,并创建了一些任务组,以避免构建中的重复(相似的构建)。用户有一个名为“Qa Agent Job”的“Run on agent”,它在本地构建代理上运行(作为Windows服务托管在构建服务器上)。
用户的问题与组织有关。用户在这里有一些构建步骤,希望按会话进行组织,例如,Nuget还原、版本控制、构建、测试、构建服务、发布构件等。在构建步骤中使用“Run on agent”项目进行组织会有问题吗?会有性能损失,比如“重新连接服务器”或“启动新进程”之类的问题吗?
谢谢。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
您可以将构建步骤分开,特别是如果您希望将工作分配给不同的代理。如果您愿意,您也可以将它们保留在单个代理中。
我认为主要的优势是可以为不同的工作集使用不同的代理池。
至少在2018年的版本中,根据我上次检查的情况,变量的作用域仅限于“阶段”。
除非您观察到了这个问题并且有更具体的细节可以添加,否则我不会过于担心由于连接而导致的性能问题。
方案2
如果您的构建步骤之间没有依赖关系,您可以将它们分成多个阶段。这样,每个阶段都可以在不同的代理上运行,以提高并行性和性能。
如果您的构建步骤之间没有依赖关系,您可以将它们分成多个阶段。这样,每个阶段都可以在不同的代理上运行,以提高并行性和性能。
以下是如何在Azure DevOps中组织构建步骤的步骤:
1. 打开Azure DevOps中的构建流水线。
2. 在构建流水线中,单击要组织的构建步骤。
3. 在构建步骤的属性中,将“Run on agent”设置为所需的代理。
4. 重复步骤2和3,直到所有构建步骤都被组织到所需的代理中。
请注意,将构建步骤组织到不同的代理中可能会增加一些额外的管理工作,例如确保代理的可用性和配置正确。
方案3
如果您的构建步骤之间有依赖关系,您可以使用Azure DevOps的任务依赖功能来组织它们。
如果您的构建步骤之间有依赖关系,您可以使用Azure DevOps的任务依赖功能来组织它们。以下是如何在Azure DevOps中组织具有依赖关系的构建步骤的步骤:
1. 打开Azure DevOps中的构建流水线。
2. 在构建流水线中,单击要组织的构建步骤。
3. 在构建步骤的属性中,将“Run on agent”设置为所需的代理。
4. 在构建步骤的属性中,设置依赖于其他构建步骤的任务。
5. 重复步骤2到4,直到所有构建步骤都被组织到所需的代理和依赖关系中。
请注意,使用任务依赖功能来组织构建步骤可能会增加一些额外的管理工作,例如确保依赖关系的正确性和配置。
方案4
如果您的构建步骤之间有复杂的依赖关系,您可以考虑使用Azure DevOps的任务组功能来组织它们。
如果您的构建步骤之间有复杂的依赖关系,您可以考虑使用Azure DevOps的任务组功能来组织它们。任务组允许您将一组任务组合成一个单独的任务,并将其作为一个整体进行组织和管理。
以下是如何在Azure DevOps中使用任务组来组织构建步骤的步骤:
1. 打开Azure DevOps中的构建流水线。
2. 在构建流水线中,单击要组织的构建步骤。
3. 在构建步骤的属性中,将“Run on agent”设置为所需的代理。
4. 在构建步骤的属性中,将一组任务组合并为一个任务。
5. 重复步骤2到4,直到所有构建步骤都被组织到所需的代理和任务组中。
请注意,使用任务组来组织构建步骤可能会增加一些额外的管理工作,例如确保任务组的正确性和配置。
以上是几种在Azure DevOps中组织构建步骤的方法。您可以根据您的需求和偏好选择适合您的方法。
希望这些解决方案对您有所帮助!如果您有任何其他问题,请随时提问。