如何将预先存在的 Amazon S3 存储桶用于 cdk python 中的工件?
How to use pre-existing Amazon S3 bucket for Artifacts in cdk python?
如何为 source_artifact 和 cloud_assembly_artifact 使用预先存在的 Amazon S3 存储桶
Artifacts docs here我的代码如下
source_artifact = codepipeline.Artifact()
cloud_assembly_artifact = codepipeline.Artifact()
pipeline = pipelines.CdkPipeline(self, 'Pipeline',
cloud_assembly_artifact=cloud_assembly_artifact,
pipeline_name='testPipeline',
source_action = cpactions.CodeCommitSourceAction(
repository=codecommit.Repository.from_repository_name(
self,
id="cicd_pipeline",
repository_name="repo-name"
),
branch='master',
action_name='CodeCommit',
trigger=cpactions.CodeCommitTrigger.POLL,
output=source_artifact,
),
synth_action=pipelines.SimpleSynthAction(
source_artifact=source_artifact,
cloud_assembly_artifact=cloud_assembly_artifact,
install_command='npm install -g aws-cdk && pip install -r requirements.txt',
build_command='pytest unittests',
synth_command='cdk synth'))
您应该创建一个 codepipeline 管道并在其中附加一个工件桶。
您可以在创建管道后在 CdkPipeline 构造中指定代码管道。
(打字稿但应该类似于 python)
this._artifactsS3Bucket = Bucket.fromBucketArn(this, 'S3ArtifactsBucket', this._props.s3ArtifactBucketARN);
new Pipeline(this, 'Pipeline', {
artifactBucket: this._artifactsS3Bucket,
pipelineName: this._pipelineName,
restartExecutionOnUpdate: true
});
将此代码管道附加到 cdkPipeline 的构造中
如何为 source_artifact 和 cloud_assembly_artifact 使用预先存在的 Amazon S3 存储桶 Artifacts docs here我的代码如下
source_artifact = codepipeline.Artifact()
cloud_assembly_artifact = codepipeline.Artifact()
pipeline = pipelines.CdkPipeline(self, 'Pipeline',
cloud_assembly_artifact=cloud_assembly_artifact,
pipeline_name='testPipeline',
source_action = cpactions.CodeCommitSourceAction(
repository=codecommit.Repository.from_repository_name(
self,
id="cicd_pipeline",
repository_name="repo-name"
),
branch='master',
action_name='CodeCommit',
trigger=cpactions.CodeCommitTrigger.POLL,
output=source_artifact,
),
synth_action=pipelines.SimpleSynthAction(
source_artifact=source_artifact,
cloud_assembly_artifact=cloud_assembly_artifact,
install_command='npm install -g aws-cdk && pip install -r requirements.txt',
build_command='pytest unittests',
synth_command='cdk synth'))
您应该创建一个 codepipeline 管道并在其中附加一个工件桶。
您可以在创建管道后在 CdkPipeline 构造中指定代码管道。 (打字稿但应该类似于 python)
this._artifactsS3Bucket = Bucket.fromBucketArn(this, 'S3ArtifactsBucket', this._props.s3ArtifactBucketARN);
new Pipeline(this, 'Pipeline', {
artifactBucket: this._artifactsS3Bucket,
pipelineName: this._pipelineName,
restartExecutionOnUpdate: true
});
将此代码管道附加到 cdkPipeline 的构造中