Pipeline

List of all available properties for a Copilot pipeline manifest.

# This YAML file defines the relationship and deployment ordering of your environments.

# The name of the pipeline
name: pipeline-sample-app-frontend

# The version of the schema used in this template
version: 1

# This section defines the source artifacts.
source:
  # The name of the provider that is used to store the source artifacts.
  provider: GitHub
  # Additional properties that further specifies the exact location
  # the artifacts should be sourced from. For example, the GitHub provider
  # has the following properties: repository, branch.
  properties:
    access_token_secret: github-token-sample-app
    branch: master
    repository: https://github.com/<user>/sample-app-frontend

# The deployment section defines the order the pipeline will deploy
# to your environments.
stages:
    - # The name of the environment to deploy to.
      name: test
      # Use test commands to validate your stage's deployment.
      test_commands:
        - make test
        - echo "woo! Tests passed"
    - # The name of the environment to deploy to.
      name: prod
      # Require a manual approval step before deployment.
      requires_approval: true
name String
The name of your pipeline.

version String
The schema version for the template. There is only one version, 1, supported at the moment.

source Map Configuration for how your pipeline is triggered.

source.provider String
The name of your provider. Currently, only "GitHub" is supported.

source.properties Map
Provider-specific configuration on how the pipeline is triggered.

source.properties.access_token_secret String
The name of AWS Secrets Manager secret that holds the GitHub access token to trigger the pipeline.

source.properties.branch String
The name of the branch in your repository that triggers the pipeline.

source.properties.repository String
The URL of your repository.

stages Array of Maps
Ordered list of environments that your pipeline will deploy to.

stage.name String
The name of the environment to deploy your services to.

stage.requires_approval Boolean
Indicates whether to add a manual approval step before the deployment.

stage.test_commands Array of Strings
Commands to run integration or end-to-end tests after deployment.