我为CI设置了本地无人机服务器。我们的项目是由maven管理的java项目。运行mvn clean install
命令时,maven会将所有依赖项下载到~/.m2
目录中。第一次运行此命令将从maven远程存储库下载大量数据,这可能需要很长时间。在这种情况下,我在无人机CI上得到了以下错误。
ERROR: terminal inactive for 15m0s, build cancelled
据我所知,此消息表示控制台上没有输出15分钟。但这在我的构建环境中是正常的情况。我想是否可以将15米配置为更大的值,以便我可以构建我们的项目。
答案 0 :(得分:4)
您可以通过将DRONE_TIMEOUT=<duration>
传递给每个座席来增加终端非活动超时。
docker run -e DRONE_TIMEOUT=15m drone/drone:0.5 agent
超时值可以是任何有效的Go持续时间字符串[1]。
# 30 minute timeout
DRONE_TIMEOUT=30m
# 1 hour timeout
DRONE_TIMEOUT=1h
# 1 hour, 30 minute timeout
DRONE_TIMEOUT=1h30m
答案 1 :(得分:0)
查看无人机源代码,看起来它们具有可用于配置不活动超时的环境变量DRONE_TIMEOUT
和DRONE_TIMEOUT_INACTIVITY
。我尝试将它放在我的.drone.yml文件中,它似乎没有做任何事情,所以这可能只能在更高的层次上使用。
以下是对环境变量DRONE_TIMEOUT_INACTIVITY
的引用:
https://github.com/drone/drone/blob/17e5eb50363f3fcdc0a0461162bee93041d600b7/drone/exec.go#L62
以下是对环境变量DRONE_TIMEOUT
的引用:
https://github.com/drone/drone/blob/eee4fd1fd2556ac9e4115c746ce785c7364a6f12/drone/agent/agent.go#L95
这是抛出错误的地方: https://github.com/drone/drone/blob/5abb5de44aa11ea546db1d3846d603eacef7f0d9/agent/agent.go#L206