Skip to content

Latest commit

 

History

History
61 lines (50 loc) · 2.28 KB

concourse_pipeline.md

File metadata and controls

61 lines (50 loc) · 2.28 KB

Concourse Pipeline Standards

When creating a new Concourse pipeline, it's best practice to start by using an existing template.

Pipeline Name

  • Should be the same name as the GitHub repo containing the source code that it's building
  • Although the pipeline is a YAML file, it should not have a .yml file extension

Job and Resource Names

  • All lowercase
  • No underscores or spaces.... use hyphens
  • No ampersands
  • Try to keep names short

Pipeline Structure

  • Pipelines should be ordered by
    • Groups
    • Jobs
    • Resources
    • Resource
  • Groups must have an All that contains all jobs in the pipeline

Tasks

  • No inline comments
  • Try to avoid bespoke config and run commands in your tasks where possible. The preferred option is to put it in a task in Concourse Resource and call it using file. This means it can be reused in other pipelines and makes your pipeline cleaner and easier to read and maintain.

Resource Icons

  • Only use an approved icon for your Resources. Currently, these are:
    • bitbucket bitbucket - used for S3 release buckets (the name is misleading but it's the only bucket icon available)
    • docker docker - used for Docker images
    • folder-zip folder-zip - used for maven-repository
    • github-circle github-circle - used for GitHub repos
    • human human - used for accessibility testing
    • iframe iframe - used for taf-source
    • package-variant-closed package-variant-closed - used for releases
    • slack slack - used for notify-slack
    • source-merge source-merge - used for analysing pull-requests
    • tag tag - used for release-tag
    • timer timer - used for time resources
    • xml xml - used for XML files such as pom.xml