-
-
Notifications
You must be signed in to change notification settings - Fork 867
Closed
Description
Feature Request
What challenge are you facing?
There can be a fair bit of mental overhead when creating Concourse pipelines, some of which is a result of having to duplicate a lot of boilerplate.
A Modest Proposal
Add a new defaults
section to resource configuration blocks, that allow the pipeline developer to specify some defaults for get
and put
build steps. For example, if the resource supports defaults,
This:
resources:
- name: foo
type: pull-request
source:
....
jobs:
- name: tests
plan:
- get: foo
trigger: true
version: every
- put: foo
params:
context: tests
path: foo
status: pending
- task: validate_and_run_tests
file: path/to/foo/tasks/unit_tests.yml
on_failure:
put: foo
params:
context: tests
path: foo
status: failure
on_success:
put: foo
params:
context: tests
path: foo
status: success
- name: deploy
plan:
- get: foo
trigger: true
version: every
....
Becomes this:
resources:
- name: foo
type: pull-request
source:
....
defaults:
get:
trigger: true
version: every
put:
params:
context: tests
path: foo
jobs:
- name: tests
plan:
- get: foo
- put: foo
params:
status: pending
- task: validate_and_run_tests
file: path/to/foo/tasks/unit_tests.yml
on_failure:
put: foo
params:
status: failure
on_success:
put: foo
params:
status: success
- name: deploy
plan:
- get: foo
....