我在project1上创建了一个新的VM实例(jenkins-server(,并在上面安装了jenkins服务器。 其中一个 Jenkins 作业应该使用以下命令构建我的应用程序并将其部署到 Project2 上
mvn gcloud:deploy -Dgcloud.gcloud_project=project2 -Dgcloud.version=jenkins-build-1
由于以下错误,该命令失败:
[INFO] Beginning deployment...
[INFO] DEBUG: No bucket specified, retrieving default bucket.
[INFO] DEBUG: {u'status': u'PERMISSION_DENIED', u'message': u'Request had insufficient authentication scopes.',
u'code': 403}
[INFO] ERROR: Error Response: [403] Request had insufficient authentication scopes.
[INFO] DEBUG: Using bucket [].
[INFO] DEBUG: (gcloud.preview.app.deploy) Could not retrieve the default Google Cloud Storage bucket for [project2]. Please try again or use the [bucket] argument.
我在 project2 上创建了名为 jenkins-server 的新存储桶,并使用 bucket 参数再次尝试该命令
[INFO] Beginning deployment...
[INFO] DEBUG: Using bucket [gs://jenkins-server].
[INFO] DEBUG: Host: appengine.google.com
[INFO] DEBUG: (gcloud.preview.app.deploy) Required scopes ['https://www.googleapis.com/auth/appengine.admin', 'https://www.googleapis.com/auth/cloud-platform'] missing from [list of scopes]. This VM instance probably needs to be recreated with the missing scopes
项目1 是使用完全权限创建的
谷歌SDK版本是最新的:谷歌云SDK 95.0.0
[编辑][更新]
在项目1上,我在jenkins服务器实例上使用了预装了jenkins的映像,但是我仅使用ubuntu 14.04 LTS重新创建了实例,并手动安装了其他所有内容(云sdk,tomcat服务器,jenkins,maven...
上面的问题消失了,但现在我遇到了不同的错误
ERROR: (gcloud.preview.app.deploy) Could not synchronize files. The gsutil command exited with status [1]
检查日志文件后,我可以看到以下错误:
Building synchronization state... Caught non-retryable exception while listing file:///tmp/tmpsgDQKG: [Errno 2] No such file or directory: '/tmp/tmpsgDQKG/cc79fffba16616623f47691da45b33db1beb4209.pem'
CommandException: Caught non-retryable exception - aborting rsync
这是默认存储桶和自定义存储桶的相同错误
感谢您的帮助
根据提交的问题 532 的详细信息,解决方法是使用 gcloud config set app/use_gsutil false
进行部署,但这现在是 gcloud 版本 106.0.0 的默认设置