我正在尝试在另一个 AWS 账户(AccountB)中创建一个管道,我的 codecommit 存储库位于另一个 AWS 账户(AccountA)中。我从这些链接中做了完全相同的方式:
https://docs.aws.amazon.com/codepipeline/latest/userguide/pipelines-create-cross-account.html https://cloudfornoobs.com/aws-codepipeline-with-cross-account-codecommit-repo/
但是,在执行管道后,我的构建总是失败。我的 pipeline.json 如下:
PS:我只想使用 codecommit 和 codebuild 我没有使用 CodeDeploy
> {
> "pipeline": {
> "name": "newpipeline",
> "roleArn": "arn:aws:iam::AccountB:role/AccountBRole",
> "artifactStore": {
> "type": "S3",
> "location": "BucketForArtifactsFromAccountB",
> "encryptionKey": {
> "id": "AccountB_KMS"
> "type": "KMS"
> }
> },
> "stages": [
> {
> "name": "Source",
> "actions": [
> {
> "name": "Source1",
> "actionTypeId": {
> "category": "Source",
> "owner": "AWS",
> "provider": "CodeCommit",
> "version": "1"
> },
> "runOrder": 1,
> "configuration": {
> "BranchName": "dev",
> "PollForSourceChanges": "false",
> "RepositoryName": "backend"
> },
> "outputArtifacts": [
> {
> "name": "Source1"
> }
> ],
> "inputArtifacts": [],
> "roleArn": "arn:aws:iam::AccountA:role/AccountARole"
> }
> ]
> },
> {
> "name": "Build",
> "actions": [
> {
> "name": "Build",
> "actionTypeId": {
> "category": "Build",
> "owner": "AWS",
> "provider": "CodeBuild",
> "version": "1"
> },
> "runOrder": 1,
> "configuration": {
> "EnvironmentVariables": "[{\"name\":\"STAGE_NAME\",\"value\":\"dev\",\"type\":\"PLAINTEXT\"}]",
> "PrimarySource": "Source1",
> "ProjectName": "backend"
> },
>
"outputArtifacts": [
{
"name": "BuildArtifact"
}
],
"runOrder": 1,
"roleArn": "arn:aws:iam::AccountA:role/AccountARole"
}
]
}
],
"artifactStore": {
"type": "S3",
"location": "BucketForArtifactsFromAccountB",
"encryptionKey": {
"id": "AccountB_KMS",
"type": "KMS"
}
},
"version": 19
}
}