Custom Steps

You can override auto-generated delivery with your own custom delivery steps. Custom steps are defined as part of the application config, meaning services will automatically get the correct steps regardless of whether you define custom steps or rely on the Prodvana auto-generated steps.

Overriding Dynamic Delivery

To override the dynamic delivery steps with one that waits an hour between staging and production pushes:

# pvnctl applications create/edit
...
pipelineTemplates:
- nameSuffix: -push  # choose whatever you want here
  tasks:
  - pushTask:
      releaseChannel: staging
  - waitTask:
      duration: 3600s
  - manualApprovalTask: {}
  - pushTask:
      releaseChannel: production

Your delivery definition must reference every release channel in the application. When defining your own push pipeline, the order field on the release channels section of the application config is ignored.

Overriding the Dynamic Rollback Steps

To override the rollback steps, follow the same instructions as the push but mark rollback: true in the pipeline:

# pvnctl applications create/edit
...
pipelineTemplates:
- nameSuffix: -rollback  # choose whatever you want here
  rollback: true
  tasks: ...

Task Definitions

For a full list of step definitions, see the API documentation for application config.

Additional Customization

As Dynamic Delivery evolves additional scenarios can be built without having to override specific steps.