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.
workflow: - publish - deploy-west shared: environment: NODE_ENV: test settings: email: addresses: [firstname.lastname@example.org, email@example.com] statuses: [SUCCESS, FAILURE] annotations: beta.screwdriver.cd/my-annotation: my-data jobs: main: image: node: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.
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.
Annotations is an optional object containing key-value pairs. These can be either pipeline or job-level specifications. Annotation key-value pairs can be completely arbitrary, as in the example, or can modify the execution of the build. For example, the annotation `beta.screwdriver.cd/executor` is used to designate a non-default executor to run the pipeline. Check with your screwdriver cluster admin to find what annotations are supported to modify your build execution.
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 used for the builds. This value should be the same as you would use for a "docker pull" command.
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.