List of all available properties for a Copilot pipeline manifest. To learn more about pipelines, see the [Pipelines](../concepts/pipelines.en.md) concept page. ???+ note "Sample continuous delivery pipeline manifests" === "Release workloads" ```yaml # The "app-pipeline" will deploy all the services and jobs in the user/repo # to the "test" and "prod" environments. name: app-pipeline source: provider: GitHub properties: branch: main repository: https://github.com/user/repo # Optional: specify the name of an existing CodeStar Connections connection. # connection_name: a-connection build: image: aws/codebuild/amazonlinux2-x86_64-standard:3.0 # additional_policy: # Add additional permissions while building your container images and templates. stages: - # By default all workloads are deployed concurrently within a stage. name: test test_commands: - make integ-test - echo "woo! Tests passed" - name: prod requires_approval: true ``` === "Control order of deployments" ```yaml # Alternatively, you can control the order of stack deployments in a stage. # See https://aws.github.io/copilot-cli/blogs/release-v118/#controlling-order-of-deployments-in-a-pipeline name: app-pipeline source: provider: Bitbucket properties: branch: main repository: https://bitbucket.org/user/repo stages: - name: test deployments: orders: warehouse: frontend: depends_on: [orders, warehouse] - name: prod require_approval: true deployments: orders: warehouse: frontend: depends_on: [orders, warehouse] ``` === "Release environments" ```yaml # Environment manifests changes can also be released with a pipeline. name: env-pipeline source: provider: CodeCommit properties: branch: main repository: https://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo stages: - name: test deployments: deploy-env: template_path: infrastructure/test.env.yml template_config: infrastructure/test.env.params.json stack_name: app-test - name: prod deployments: deploy-prod: template_path: infrastructure/prod.env.yml template_config: infrastructure/prod.env.params.json stack_name: app-prod ``` `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, `GitHub`, `Bitbucket`, and `CodeCommit` are 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 if your provider is GitHub and you created your pipeline with a personal access token. !!! info As of AWS Copilot v1.4.0, the access token is no longer needed for GitHub repository sources. Instead, Copilot will trigger the pipeline [using AWS CodeStar connections](https://docs.aws.amazon.com/codepipeline/latest/userguide/update-github-action-connections.html). source.properties.`branch` String The name of the branch in your repository that triggers the pipeline. Copilot autofills this field with your current local branch. source.properties.`repository` String The URL of your repository. source.properties.`connection_name` String The name of an existing CodeStar Connections connection. If omitted, Copilot will generate a connection for you. source.properties.`output_artifact_format` String Optional. The output artifact format. Values can be either `CODEBUILD_CLONE_REF` or `CODE_ZIP`. If omitted, the default is `CODE_ZIP`. !!! info This property is not available for pipelines with [GitHub version 1](https://docs.aws.amazon.com/codepipeline/latest/userguide/appendix-github-oauth.html) source actions, which use `access_token_secret`. `build` Map Configuration for CodeBuild project. build.`image` String The URI that identifies the Docker image to use for this build project. As of now, `aws/codebuild/amazonlinux2-x86_64-standard:3.0` is used by default. build.`buildspec` String Optional. The URI that identifies a buildspec to use for this build project. By default, Copilot will generate one for you, located at `copilot/pipelines/[your pipeline name]/buildspec.yml`. build.`additional_policy.``PolicyDocument` Map Optional. Specify an additional policy document to add to the build project role. The additional policy document can be specified in a map in YAML, for example: ```yaml build: additional_policy: PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: - ecr:GetAuthorizationToken Resource: '*' ``` or alternatively as JSON: ```yaml build: additional_policy: PolicyDocument: { “Statement": [ { "Action": ["ecr:GetAuthorizationToken"], "Effect": "Allow", "Resource": "*" } ], "Version": "2012-10-17" } ``` `stages` Array of Maps Ordered list of environments that your pipeline will deploy to. stages.`name` String The name of an environment to deploy your services to. stages.`requires_approval` Boolean Optional. Indicates whether to add a manual approval step before the deployment. Defaults to `false`. stages.`deployments` Map Optional. Control which CloudFormation stacks to deploy and their order. The `deployments` dependencies are specified in a map of the form: ```yaml stages: - name: test deployments: