GAE应用程序“;“推式部署”;wordpress git失败


GAE app "Push-to-deploy" failed for wordpress git

我目前正在尝试设置一个GAE推送,以便从我的bitbucket wordpress repo进行部署。似乎在GCE上设置jenkins所需的所有步骤都已完成,但使用OSError: [Errno 13] Permission denied: '/root/.config' 构建失败

我认为shell命令:gcloud --project=projectjp01 preview app deploy .添加到构建步骤导致了问题。(看起来詹金斯用户无法访问根文件夹或日志文件夹)

有人能帮我成功地完成GAE的推送程序吗?任何帮助都将不胜感激。

仅供参考,以下是构建过程的控制台消息:

由用户启动工作空间中的用户名构建/opt/bitnami/apps/jenkins/jenkins_home/jobs/firstjenkins/workspace

/opt/bitnami/git/bin/git-rev-parse--在工作树中#timeout=10从远程git存储库获取更改/opt/bitnami/git/bin/git-config-remote.origin.urlhttps://source.developers.google.com/p/projectjp01#超时=10正在从获取上游更改source.developers.google.com/p/projectname/opt/bitnami/git/bin/git--版本#timeout=10使用.gitcredentials设置凭据/opt/bitnami/git/bin/git-config--本地凭据。帮助存储--文件=/opt/bitnami/apache-tomcat/temp/git2753293187622835876.credentials

超时=10

/opt/bitnami/git/bin/git fetch--标记--进度+refs/heads/:refs/remotes/origin//opt/bitnami/git/bin/git-config--local--删除部分凭据#超时=10/opt/bitnami/git/bin/git-rev解析refs/remotes/origin/master^{commit}#超时=10/opt/bitnami/git/bin/git-rev解析refs/remotes/origin/oorigin/master^{commit}>#timeout=10签出修订版2297db6db06f19198dd3097e8db6b72687e8d433(参考/遥控/原点/主控)/opt/bitnami/git/bin/git-config-core.sparsecheckout#超时=10/opt/bitnami/git/bin/git checkout-f 2297db6db06f19198dd3097e8db6b72687e8d433/opt/bitnami/git/bin/git-rev列表2297db6db06f19198dd3097e8db6b72687e8d433#超时=10[工作空间]$/bin/sh-xe/opt/bitnami/apache tomcat/temp/hudson1649832068994489242.sh+gcloud--project=projectname预览应用程序部署。Traceback(最近一次通话):文件"/usr/local/bin/../share/google/google-cloud-sdk/./lib/googlecloudsdk/gcloud/gcloud.py",第177行,in_cli=CreateCLI()文件"/usr/local/bin/../share/google/googlecloud-sdk/./lib/googlecloudsdk/gcloud/gcloud.py",第175行,在CreateCLI中返回加载器。生成()文件"/usr/local/bin/../share/google/google-cloud-sdk/./lib/googlecloudsdk/calliope/cli.py",第236行,生成回归自我__LoadCLIFromGroups()文件"/usr/local/bin/../share/google/googlecloud-sdk/./lib/googlecloudsdk/calliope/cli.py",第280行,在__LoadCLIFromGroups中cli=self__MakeCLI(top_group)文件"/usr/local/bin/../share/google/googlecloud-sdk/./lib/googlecloudsdk/calliope/cli.py",第442行,在__MakeCLI中日志AddFileLogging(self.__logs_dir)文件"/usr/local/bin/../share/google/gloud-sdk/./lib/googlecloudsdk/core/log.py",第532行,在AddFileLogging中_log_manager.AddLogsDir(logs_dir=logs_dir)文件"/usr/local/bin/../share/google/google-cloud-sdk/./lib/googlecloudsdk/core/log.py",第316行,在AddLogsDir中log_file=self_SetupLogsDir(logs_dir)文件"/usr/local/bin/../share/google/googlecloud-sdk/./lib/googlecloudsdk/core/log.py",第393行,在_SetupLogsDir中os.makedirs(day_dir_path)文件"/usr/lib/python2.7/os.py",第150行,在makedirs中makedirs(head,mode)文件"/usr/lib/python2.7/os.py",第150行,在makedirs中makedirs(head,mode)文件"/usr/lib/python2.7/os.py",第150行,在makedirs中makedirs(head,mode)文件"/usr/lib/python2.7/os.py",第157行,在makedirs中mkdir(名称,模式)OSError:[Erno 13]权限被拒绝:"/root/.config"构建步骤"执行shell"标记为构建失败完成:故障

我发现了自己。所有的问题都源于权限设置。

gcloud应该作为sudo运行,但tomcat(jenkins)被配置为默认禁用sudo。因此,我ssh到运行jenkins的GCE服务器,打开(创建)文件:

sudo vi /etc/sudoers.d/tomcat

然后放上这行:

tomcat ALL=(ALL) NOPASSWD: ALL

就是这样;立即部署,没有问题。