AbstractIdentifier for this step
ReadonlydependencyThe list of FileSets consumed by this Step
ReadonlyidIdentifier for this step
ReadonlyisWhether or not this is a Source step
What it means to be a Source step depends on the engine.
StackOutputReferences this step consumes.
Return the steps this step depends on, based on the FileSets it requires
The primary FileSet produced by this Step
Not all steps produce an output FileSet--if they do
you can substitute the Step object for the FileSet object.
ProtectedaddAdd an additional FileSet to the set of file sets required by this step
This will lead to a dependency on the producer of that file set.
ProtectedconfigureProtecteddiscoverCrawl the given structure for references to StepOutputs and add dependencies on all steps found
Should be called in the constructor of subclasses based on what the user passes in as construction properties. The format of the structure passed in here does not have to correspond exactly to what gets rendered into the engine, it just needs to contain the same data.
Protected AbstractgetCreate the desired Action and add it to the pipeline
Return an attribute of the current source revision
These values can be passed into the environment variables of pipeline steps, so your steps can access information about the source revision.
Pipeline synth step has some source attributes predefined in the environment. If these suffice, you don't need to use this method for the synth step.
What attributes are available depends on the type of source. These attributes are supported:
AuthorDateBranchNameCommitIdCommitMessageRepositoryNameCommitterDateCommitUrlFullRepositoryNameETagVersionIdImageDigestImageTagImageURIRegistryId// Access the CommitId of a GitHub source in the synth
const source = pipelines.CodePipelineSource.gitHub('owner/repo', 'main');
const pipeline = new pipelines.CodePipeline(scope, 'MyPipeline', {
synth: new pipelines.ShellStep('Synth', {
input: source,
commands: [],
env: {
'COMMIT_ID': source.sourceAttribute('CommitId'),
}
})
});
Return a string representation of this Step
StaticcodeReturns a CodeCommit source.
If you need access to symlinks or the repository history, be sure to set
codeBuildCloneOutput.
The CodeCommit repository.
The branch to use.
Optionalprops: CodeCommitSourceOptionsThe source properties.
StaticconnectionReturns a CodeStar connection source. A CodeStar connection allows AWS CodePipeline to access external resources, such as repositories in GitHub, GitHub Enterprise or BitBucket.
To use this method, you first need to create a CodeStar connection using the AWS console. In the process, you may have to sign in to the external provider -- GitHub, for example -- to authorize AWS to read and modify your repository. Once you have done this, copy the connection ARN and use it to create the source.
Example:
pipelines.CodePipelineSource.connection('owner/repo', 'main', {
connectionArn: 'arn:aws:codestar-connections:us-east-1:222222222222:connection/7d2469ff-514a-4e4f-9003-5ca4a43cdc41', // Created using the AWS console
});
If you need access to symlinks or the repository history, be sure to set
codeBuildCloneOutput.
A string that encodes owner and repository separated by a slash (e.g. 'owner/repo'). The provided string must be resolvable at runtime.
The branch to use.
The source properties, including the connection ARN.
StaticecrReturns an ECR source.
The repository that will be watched for changes.
Optionalprops: ECRSourceOptionsThe options, which include the image tag to be checked for changes.
StaticgitReturns a GitHub source, using OAuth tokens to authenticate with
GitHub and a separate webhook to detect changes. This is no longer
the recommended method. Please consider using connection()
instead.
Pass in the owner and repository in a single string, like this:
pipelines.CodePipelineSource.gitHub('owner/repo', 'main');
Authentication will be done by a secret called github-token in AWS
Secrets Manager (unless specified otherwise).
If you rotate the value in the Secret, you must also change at least one property on the Pipeline, to force CloudFormation to re-read the secret.
The token should have these permissions:
If you need access to symlinks or the repository history, use a source of type
connection instead.
Optionalprops: GitHubSourceOptionsStatics3Returns an S3 source.
The bucket where the source code is located.
Optionalprops: S3SourceOptionsThe options, which include the key that identifies the source code file and and how the pipeline should be triggered.
Staticsequence
Factory for CodePipeline source steps
This class contains a number of factory methods for the different types of sources that CodePipeline supports.