【问题标题】:Azure Pipeline failed for maven app engine deployMaven 应用引擎部署的 Azure Pipeline 失败
【发布时间】: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


【解决方案1】:

根据要求,发布我的 yaml 文件,这可能有助于解决同样的问题。

现在我授予了父目录 gcloud 1 的权限,因为我显示其他目录存在问题。

- script: |
   sudo chown -R $USER:$USER /home/$USER/.config/gcloud/

- task: Maven@3
  displayName: 'Maven api/pom.xml'
  inputs:
    mavenPomFile: 'api/pom.xml'
    goals: 'clean package appengine:deploy'

我使用 $USER 为所有人制作它。当我使用 Azure 维护的代理时,我的管道用户是自动获取的 vsts。并且会帮助其他人,无论他们的用户如何。

如果需要更多帮助,请告诉我,谢谢。

【讨论】:

    猜你喜欢
    • 2018-10-28
    • 2019-03-12
    • 1970-01-01
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-20
    • 2012-10-29
    相关资源
    最近更新 更多