Drone CI 中文文档

Starlark

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

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

以下是基础模板的示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
def main(ctx):
  return {
    "kind": "pipeline",
    "name": "build",
    "steps": [
      {
        "name": ctx.input.stepName,
        "image": ctx.input.image,
        "commands": [
            ctx.input.commands
        ]
      }
    ]
  }

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

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

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