Drone CI 中文文档

Jsonnet

模板可以通过名称引用的方式,引用类型为 template 流水线基础模板进行。在 drone.yml 文件中,可以使用一组自由(不限制)格式的模板输入来向模板中传入数据。

1
2
3
4
5
6
kind: template
load: plugin.jsonnet
data:
  stepName: my_step
  image: my_image
  commands: my_command

以下是基础模板的示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
local stepName = std.extVar("input.stepName");
local image = std.extVar("input.image");
local commands = std.extVar("input.commands");
{
  "kind": "pipeline",
  "type": "docker",
  "name": "default",
  "steps": [
    {
      "name": stepName,
      "image": image,
      "commands": [
        commands
      ]
    }
  ]
}

预定义变量列表可在网址 https://docs.drone.io/template/variables 中查阅。

以下是使用命令行工具创建组织模板的示例:

1
drone template add [namespace] [name] [data]
1
drone template add octocat template_name @path_to_file