Drone是否支持为构建

时间:2016-12-28 05:24:22

标签: drone drone.io

我为CI设置了本地无人机服务器。我们的项目是由maven管理的java项目。运行mvn clean install命令时,maven会将所有依赖项下载到~/.m2目录中。第一次运行此命令将从maven远程存储库下载大量数据,这可能需要很长时间。在这种情况下,我在无人机CI上得到了以下错误。

ERROR: terminal inactive for 15m0s, build cancelled

据我所知,此消息表示控制台上没有输出15分钟。但这在我的构建环境中是正常的情况。我想是否可以将15米配置为更大的值,以便我可以构建我们的项目。

2 个答案:

答案 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] https://golang.org/pkg/time/#ParseDuration

答案 1 :(得分:0)

查看无人机源代码,看起来它们具有可用于配置不活动超时的环境变量DRONE_TIMEOUTDRONE_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