Abstract
Identifier for this step
Readonly
dependencyThe list of FileSets consumed by this Step
Readonly
idIdentifier for this step
Readonly
isWhether or not this is a Source step
What it means to be a Source step depends on the engine.
StackOutputReferences this step consumes.
Protected
addAdd 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.
Add a dependency on another step.
Protected
configureConfigure the given FileSet as the primary output of this step
Protected
discoverCrawl 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
Abstract
getCreate 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:
AuthorDate
BranchName
CommitId
CommitMessage
RepositoryName
CommitterDate
CommitUrl
FullRepositoryName
ETag
VersionId
ImageDigest
ImageTag
ImageURI
RegistryId
// 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'),
}
})
});
Static
codeReturns 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.
Optional
props: CodeCommitSourceOptionsThe source properties.
Static
connectionReturns 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.
Static
ecrReturns an ECR source.
The repository that will be watched for changes.
Optional
props: ECRSourceOptionsThe options, which include the image tag to be checked for changes.
Static
gitReturns 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.
Optional
props: GitHubSourceOptionsStatic
s3Returns an S3 source.
The bucket where the source code is located.
Optional
props: S3SourceOptionsThe options, which include the key that identifies the source code file and and how the pipeline should be triggered.
Static
sequence
Factory for CodePipeline source steps
This class contains a number of factory methods for the different types of sources that CodePipeline supports.