This is an interactive guide for exploring various important properties of the screwdriver.yaml configuration for projects.
You can access information about properties by hovering over the property name.
matrix have not been implemented yet. Everything will run in series by default.
workflow: - publish - parallel: - series: - deploy-east - validate-east - series: - deploy-west - validate-west shared: environment: NODE_ENV: test settings: email: addresses: [firstname.lastname@example.org, email@example.com] statuses: [SUCCESS, FAILURE] jobs: main: image: node: matrix: NODE_VERSION: [4,5,6] steps: - init: npm install - test: npm test publish: image: node:6 steps: - publish: npm publish deploy-west: image: node:6 environment: DEPLOY_ENV: west steps: - init: npm install - publish: npm deploy ...
Defines the order of jobs that are executed for the project. All jobs referenced by the workflow must be defined in the jobs section.
Jobs can execute in parallel, in series, or in any combination of the two, per this example. Special keywords parallel and series define the flow of the jobs. By default, the jobs in the workflow list are run in series after main job has completed successfully.
A set of key/value pairs for environment variables that need to be set. Any configuration that is valid for a job configuration is valid in shared, but will be overridden by specific job configurations.
Configurable settings for any additional build plugins added to Screwdriver.cd.
Emails addresses to send notifications to and statuses to send notifications for.
A series of jobs that define the behavior of your builds.
The only required job. This job is executed automatically whenever there is a code change.
This defines the docker image(s) used for the builds. This example shows a template replacement, where a variable is enclosed in curly braces, e.g. . This variable will be changed to the value(s) of the equivalent variable in the matrix setting, resulting in multiple builds running in parallel, each using one of those various images.
This causes the builds for the job to execute on multiple images in parallel, when used a templated image configuration.
Defines the explicit list of commands that are executed in the build, just as if they were entered on the command line. Environment variables will be passed between steps, within the same job. Step definitions are required for all jobs. Step names cannot start with `sd-`, as those steps are reserved for Screwdriver steps. In essence, Screwdriver runs `/bin/sh` in your terminal then executes all the steps; in rare cases, different terminal/shell setups may have unexpected behavior.