Drone CI 中文文档

DRONE_LICENSE

可选项,配置值为字符串,用于提供 Drone Enterprise 许可证密钥的文件路径。这用于解锁 Drone 企业版。

DRONE_LICENSE=/etc/drone.key

如果你在 Docker 容器中运行 Drone Server,则需要将许可证密钥安装为卷:

$ docker run \
  --volume=/path/on/host/drone.key:/etc/drone.key

如果你使用 docker-compose 或 Kubernetes 运行 Drone Server,或者你已使用 Yaml 配置 Drone,你可以为 Server 提供许可证密钥作为环境变量:

DRONE_LICENSE: |
  -----BEGIN LICENSE KEY-----
  Thjh7sTA1VDE4OjM2tpmQQZCyRd43M1ODI1OVoiLCJkYXQiSukU/Y
  -----END LICENSE KEY-----

常见问题

许可证错误的最常见根本原因是未能安装许可证密钥,或提供旧的或过期的许可证密钥。调试服务器日志提供了有助于解决许可证问题的有用信息。

表明许可证文件未正确安装的错误信息:

1
2
3
4
5
6
{
  "error": "open /tmp/LICENSE.txt: no such file or directory",
  "level": "fatal",
  "msg": "main: invalid or expired license",
  "time": "2020-10-01T12:04:39-04:00"
}

表示许可证文件本身存在问题的错误信息。这可以通过确保你拥有最新版本的 Drone Server(1.9.2 或更高版本)或请求新的许可证密钥来解决。

1
2
3
4
5
6
{
"error": "unexpected end of JSON input",
"level": "fatal",
"msg": "main: invalid or expired license",
"time": "2020-10-29T09:42:19Z"
}

表明许可证环境变量为空且未正确配置的错误信息,导致颁发试用许可证。如果你超过了试用版限制,这将导致 License Expired 错误。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
{
  "build.limit": 5000,
  "expires": "0001-01-01T00:00:00Z",
  "kind": "trial",
  "level": "debug",
  "msg": "main: license loaded",
  "repo.limit": 0,
  "time": "2020-10-01T12:05:32-04:00",
  "user.limit": 0
}

表明许可证已成功加载的示例日志:

1
2
3
4
5
6
7
8
9
{
  "build.limit": 0,
  "expires": "2020-11-24T23:26:34.67261883Z",
  "kind": "standard",
  "level": "debug",
  "msg": "main: license loaded",
  "time": "2019-12-02T10:38:21-08:00",
  "user.limit": 50
}

请仔细检查用户限制以确保它们符合你的期望。如果你继续遇到 License Exceeded 错误,你应该按照我们的指南 确保你的使用不超过许可限制。