azure-devops - Azure DevOps 计划和手动之间的不同行为
问题描述
Agent.Version = 2.144.2
我可以观察到,当手动触发或调度构建管道时,我的自托管代理 ( ) 会获得不同的结果。
1. 观察失败(安排每晚凌晨 3 点构建)
2. 观察失败(安排在凌晨 3 点进行夜间构建)
成功观察(手动构建)
可悲的是,我还可以通过运行完全正常的相同任务来观察 Schedule nightly builds。
错误
调度的构建失败导致代理达到 1 小时的最大执行时间。原因是 devenv.ps1 任务需要比通常更长的时间。
这Task: devenv.ps1
是一项自制任务,在不了解此任务的详细信息的情况下,无法说出这里发生了什么。这是一项基于 powershell 脚本的自定义任务,用于执行git clean
、nuget restore
、 一些个人prebuild events
,最后是devenv rebuild
.
在日志中我找不到这种行为的提示。
问题
手动任务与计划任务有不同的行为是否有任何原因?有没有人观察到类似的行为?
编辑#1
我从自定义 devenv 任务切换到了官方的Visual Studio-Build任务。不幸的是,结果没有改变:
==============================================================================
Task : Visual Studio-Build
Description : Erstellen Sie den Build mit MSBuild, und legen Sie die Visual Studio-Versionseigenschaft fest.
Version : 1.151.2
Author : Microsoft Corporation
Help : [Weitere Informationen](https://go.microsoft.com/fwlink/?LinkID=613727)
==============================================================================
在这个版本中,2 小时的超时时间也不够。
编辑#2
我设置了一个测试系列,现在我可以说:一天中的第一个计划构建似乎超时了。只是为什么不清楚。
屏幕截图显示了一系列 shedueld 构建。所有构建的源和任务都是相同的。
1. 10:00 AM -> Timeout
2. 00:55 AM (Next Day)
3. 03:00 AM
4. 05:05 AM
我之前也做过类似的观察,但我可以完美地放在一张截图中。这怎么可能?
解决方案
推荐阅读
- reactjs - 如何创建一个通用的全局 Axios 实例,它将使用我的 Redux 存储来获取标头令牌信息?
- javascript - 本地存储未定义为什么?
- node.js - 将自定义 Yeoman 生成器公开为 REST API
- javascript - 创建了一张在列表上使用 useState 切换的卡片,但它会切换所有项目
- reactjs - Reacjs- 弹出窗口:如何在不点击/悬停的情况下触发弹出窗口?
- c++ - 在不知道类型的情况下初始化元组中的智能指针
- flask - SqlAlchemy CASE 语句: ValueError: too many values to unpack (expected 2)
- apache - 如果目录存在,Apache mod_rewrite 将请求方法设置为“GET”
- node.js - 没有日志语句,NodeJS await 不起作用
- c# - 在 .netcore 3.1 WCF SOAP 服务中添加 MTOM/XOP 附件作为字节数组