Skip to content

Instantly share code, notes, and snippets.

@suhlig
Last active July 31, 2026 10:54
Show Gist options
  • Select an option

  • Save suhlig/62d311d80e8f49a1432eabfc48d1edfe to your computer and use it in GitHub Desktop.

Select an option

Save suhlig/62d311d80e8f49a1432eabfc48d1edfe to your computer and use it in GitHub Desktop.
Ideas about Concourse

Concourse Ideas

Pipelines

  • Order the document: groups, then jobs, then resources, then resource types
  • Manage the image a task is using by getting it before each use
  • Every step needs timeouts and retries
  • Always declare inputs and outputs in the pipeline, even if their names match other pipeline resources
  • Declare those parameters (environment variables) in the pipeline that need to be set to secrets
  • Add a self-update job (remember to pause it when flying a one-off change)
  • Specify build_log_retention in order to limit the database usage to a meaningful value

Steps

  • Use a dedicated task image. Avoid universal / mega images; they just accrue debt.
  • Declare empty input or detect for put steps in order to avound streaming volumes that will not be used
  • Specify no_get: true for put steps if there is no reason to get the resoruce again after put

Sometimes

  • Use spruce to inline task scripts for self-contained pipelines
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment