我在詹金斯有这样的管道。
我可以从Jenkins开始Codebuild,但Jenkins没有抓住Codebuild的退出,这是一个问题。
如果你知道这个问题的原因,你能告诉我吗?
管道
pipeline {
agent any
stages {
stage("Codebuild start") {
steps {
withAWS(region:'ap-northeast-1', credentials:'AWS_CREDENTIAL_KEY')
{
awsCodeBuild(
projectName: 'ProjectName',
region: 'ap-northeast-1',
credentialsType: 'keys',
sourceControlType: 'jenkins'
)
}
}
}
}
}
国际机械师协会
以下IAM角色被授予运行代码构建的用户。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets",
"s3:ListBucket",
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject",
"s3:GetBucketVersioning"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"codebuild:StartBuild",
"codebuild:BatchGetBuilds",
"codebuild:BatchGetProjects"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"logs:GetLogEvents"
],
"Resource": "*"
}
]
}
环境
-
Jenkins是由Docker在AWS EC2上启动的。
-
安全组也设置正确,您可以在GUI的基础上运行jenkins。
-
AWS Steps插件和Codebuild插件安装在Jenkins中。
非常感谢。
-
将日志记录角色授予IAM用户。
-
将IAM角色的日志事件资源缩小到特定的资源。