Templates can be used by setting the kind to ’template’, the name of the base template to load, and a set of freeform template inputs in their drone.yml file:
kind: template
load: plugin.jsonnet
data:
stepName: my_step
image: my_image
commands: my_command
Example base template:
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
]
}
]
}
Predefined variable list can be found at: https://docs.drone.io/template/variables
Create organization templates using the command line tools:
$ drone template add [namespace] [name] [data]
$ drone template add octocat template_name @path_to_file