【发布时间】:2019-11-06 19:01:49
【问题描述】:
我现在一直在尝试从 azure 管道部署我的应用引擎应用。
我能够使 mvn clean 并打包它,但是当我使用 mvn appengine:deploy 时,它确实抛出了这个权限问题。我解决了一些常见问题,例如:
I cant init Google Cloud SDK on Ubuntu
和
gcloud components update permission denied
我做了什么,我在 yml 文件中的 maven 之前添加了 script 标签。
- script: |
sudo chown -R $USER /home/vsts/.config/gcloud/config_sentinel
- task: Maven@3
displayName: 'Maven api/pom.xml'
inputs:
mavenPomFile: 'api/pom.xml'
goals: 'clean package appengine:deploy'
但不确定是什么问题以及我需要为管道设置我的 USER 的其他权限是这里的 vsts。到目前为止,如果我犯了任何错误,请告诉我。
来自管道的错误日志供参考:
Downloaded from central: https://repo.maven.apache.org/maven2/com/google/guava/guava/27.0-jre/guava-27.0-jre.jar (2.7 MB at 3.4 MB/s)
Nov 06, 2019 6:51:59 PM com.google.cloud.tools.managedcloudsdk.install.Downloader download
INFO: Downloading https://dl.google.com/dl/cloudsdk/channels/rapid/google-cloud-sdk.tar.gz to /home/vsts/.cache/google-cloud-tools-java/managed-cloud-sdk/downloads/google-cloud-sdk.tar.gz
Welcome to the Google Cloud SDK!
WARNING: Could not setup log file in /home/vsts/.config/gcloud/logs, (IOError: [Errno 13] Permission denied: u'/home/vsts/.config/gcloud/logs/2019.11.06/18.52.02.245238.log')
Traceback (most recent call last):
File "/home/vsts/.cache/google-cloud-tools-java/managed-cloud-sdk/LATEST/google-cloud-sdk/bin/bootstrapping/install.py", line 225, in <module>
main()
File "/home/vsts/.cache/google-cloud-tools-java/managed-cloud-sdk/LATEST/google-cloud-sdk/bin/bootstrapping/install.py", line 200, in main
Prompts(pargs.usage_reporting)
File "/home/vsts/.cache/google-cloud-tools-java/managed-cloud-sdk/LATEST/google-cloud-sdk/bin/bootstrapping/install.py", line 123, in Prompts
scope=properties.Scope.INSTALLATION)
File "/home/vsts/.cache/google-cloud-tools-java/managed-cloud-sdk/LATEST/google-cloud-sdk/lib/googlecloudsdk/core/properties.py", line 2269, in PersistProperty
named_configs.ActivePropertiesFile.Invalidate(mark_changed=True)
File "/home/vsts/.cache/google-cloud-tools-java/managed-cloud-sdk/LATEST/google-cloud-sdk/lib/googlecloudsdk/core/configurations/named_configs.py", line 413, in Invalidate
file_utils.WriteFileContents(config.Paths().config_sentinel_file, '')
File "/home/vsts/.cache/google-cloud-tools-java/managed-cloud-sdk/LATEST/google-cloud-sdk/lib/googlecloudsdk/core/util/files.py", line 1103, in WriteFileContents
with FileWriter(path, private=private) as f:
File "/home/vsts/.cache/google-cloud-tools-java/managed-cloud-sdk/LATEST/google-cloud-sdk/lib/googlecloudsdk/core/util/files.py", line 1180, in FileWriter
return _FileOpener(path, mode, 'write', encoding='utf8', private=private)
File "/home/vsts/.cache/google-cloud-tools-java/managed-cloud-sdk/LATEST/google-cloud-sdk/lib/googlecloudsdk/core/util/files.py", line 1208, in _FileOpener
raise exc_type('Unable to {0} file [{1}]: {2}'.format(verb, path, e))
googlecloudsdk.core.util.files.Error: Unable to write file [/home/vsts/.config/gcloud/config_sentinel]: [Errno 13] Permission denied: '/home/vsts/.config/gcloud/config_sentinel'
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.958 s
[INFO] Finished at: 2019-11-06T18:52:02Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.google.cloud.tools:appengine-maven-plugin:2.0.0:deploy (default-cli) on project configuration-api: Execution default-cli of goal com.google.cloud.tools:appengine-maven-plugin:2.0.0:deploy failed: com.google.cloud.tools.managedcloudsdk.command.CommandExitException: Process failed with exit code: 1 -> [Help 1]
【问题讨论】:
-
使用托管代理
-
您是否仍然收到此错误,或者添加的脚本是否为您解决了它?此外,比较您分享的帖子,我注意到建议更改整个
.config/gcloud/目录的所有权。我知道堆栈跟踪说它无法专门写入config_sentinel,但可能值得一试。 -
是的,我能够通过以下方式解决它:在 azure ops 管道中添加脚本,然后再部署命令,如下所示。 "sudo chown -R $USER:$USER /home/vsts/.config/gcloud/" 我还有很多其他问题,因此它搞砸了很多。
-
所以这是
.config/gcloud目录的权限它自己!我查看了 Google 的 Issue Tracker 的已打开问题,但找不到任何确认这是一个错误的信息,只有人们在安装 Cloud SDK 时遇到问题。因此,如果您对此有任何其他特殊问题,我建议您在那里开一张票。另外,由于新脚本已修复它,您能否出于社区目的将其发布为答案?一旦你这样做,我一定会支持它。 -
@Indrajeet Gour 感谢您在这里分享您的解决方案。您能否将您的评论转换为答案。这将使有同样问题的用户受益,我们可以存档此线程,谢谢。祝你有美好的一天。
标签: maven google-app-engine build azure-pipelines