Drone provides an official extension that enables support for Starlark, a configuration language inspired by Python, to build pipelines. Starlark provides a powerful alternative to traditional yaml configurations.
Installation
-
Create a shared secret.
$ openssl rand -hex 16 bea26a2221fd8090ea38720fc445eca6
-
Download and run the extension.
$ docker run -d \ --publish=3000:3000 \ --env=DRONE_DEBUG=true \ --env=DRONE_SECRET=bea26a2221fd8090ea38720fc445eca6 \ --restart=always \ --name=starlark drone/drone-convert-starlark
-
Update your Drone server configuration to include the extension address and the shared secret.
DRONE_CONVERT_PLUGIN_ENDPOINT=http://1.2.3.4:3000 DRONE_CONVERT_PLUGIN_SECRET=bea26a2221fd8090ea38720fc445eca6
Verification
You can verify the extension is configured and is processing requests using the command line utility.
-
Provide the command line utility with the extension endpoint and secret.
$ export DRONE_CONVERT_ENDPOINT=http://1.2.3.4:3000 $ export DRONE_CONVERT_SECRET=bea26a2221fd8090ea38720fc445eca6
-
Use the command line utility to convert a Starlark script:
$ drone plugins convert path/to/.drone.star