如何解决将 Jenkins 与 Google Cloud Build 集成
我正在尝试通过我的 Jenkins 管道触发 cloudbuild.yaml
以将我的应用程序部署到 Google App Engine,但出现以下错误:
com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
{
"code" : 403,"errors" : [ {
"domain" : "global","message" : "The caller does not have permission","reason" : "forbidden"
} ],"status" : "PERMISSION_DENIED"
}
pipeline {
environment {
registry = "dockerregistery"
registryCredential = 'dockerhub'
dockerImage = ''
}
agent any
tools {
maven "M3"
}
stages {
stage('Build') {
steps {
git branch: 'patch-1',url: 'gitrepository'
sh "mvn clean package"
script {
dockerImage = docker.build registry
}
script {
docker.withRegistry( '',registryCredential ) {
dockerImage.push()
}
}
}
}
stage('Push_docker') {
steps {
script {
docker.withRegistry( '',registryCredential ) {
dockerImage.push()
}
}
}
}
stage('Deploy_to_app_engine') {
steps {
googleCloudBuild credentialsId: 'cloudbuild',request: inline('''steps:
- id: \'Stage app using mvn appengine plugin on mvn cloud build image\'
name: \'gcr.io/cloud-builders/mvn@sha256:91177350c24af8407bd0fdef3b1b39fabab1770eb4e3b6510819002550b2bab1\'
args: [\'package\',\'appengine:stage\',\'-Dmaven.test.skip=true\']
- id: \'Deploy to app engine using gcloud image\'
name: \'gcr.io/cloud-builders/gcloud\'
args: [\'app\',\'deploy\',\'target/appengine-staging/app.yaml\']''')
}
}
}
}
我的 Jenkins 服务帐户具有 Cloud Build 和 Google App Engine 管理员角色。我的权限应该不是问题,但仍然出现权限错误。有人能帮我解决这个问题吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。