Java 无法通过gitlab将我的代码部署到google云应用程序引擎
我正在尝试创建一个gitlab管道,用于将我的spring boot应用程序部署到google app engine,并且我能够向gitlab验证应用程序引擎,但在ci文件的部署步骤中,我得到必须安装Java 7+JRE,并且必须安装在您的系统路径上,尽管我在gitlab ci中使用gcloud install components app engine Java命令安装了它文件请建议需要采取什么措施来解决此错误 .gitlab-ci.yml文件:Java 无法通过gitlab将我的代码部署到google云应用程序引擎,java,google-app-engine,gitlab-ci,gcloud,app-engine-flexible,Java,Google App Engine,Gitlab Ci,Gcloud,App Engine Flexible,我正在尝试创建一个gitlab管道,用于将我的spring boot应用程序部署到google app engine,并且我能够向gitlab验证应用程序引擎,但在ci文件的部署步骤中,我得到必须安装Java 7+JRE,并且必须安装在您的系统路径上,尽管我在gitlab ci中使用gcloud install components app engine Java命令安装了它文件请建议需要采取什么措施来解决此错误 .gitlab-ci.yml文件: image: google/cloud-sdk
image: google/cloud-sdk:alpine
deploy_production:
stage: deploy
environment: Production
only:
- master
script:
- echo $DEPLOY_KEY_FILE_PRODUCTION > /tmp/$CI_PIPELINE_ID.json
- gcloud -q components install app-engine-java
- gcloud auth activate-service-account --key-file /tmp/$CI_PIPELINE_ID.json
- gcloud --quiet --project $PROJECT_ID_PRODUCTION --verbosity debug app deploy src/main/webapp/WEB-INF/appengine-web.xml
下面是调试详细信息,其中提到要使用java的本地暂存,必须安装java JRE,尽管我已经使用gcloud安装组件google app engine cmd安装了它:
$ gcloud --quiet --project $PROJECT_ID_PRODUCTION --verbosity debug app deploy src/main/webapp/WEB-INF/appengine-web.xml
DEBUG: Running [gcloud.app.deploy] with arguments: [--project: "playground-kg", --quiet: "True", --verbosity: "debug", DEPLOYABLES:1: "[u'src/main/webapp/WEB-INF/appengine-web.xml']"]
**DEBUG: (gcloud.app.deploy) To use the local staging for java, a Java 7+ JRE must be installed and on your system PATH**
Traceback (most recent call last):
File "/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py", line 983, in Execute
resources = calliope_command.Run(cli=self, args=args)
File "/google-cloud-sdk/lib/googlecloudsdk/calliope/backend.py", line 784, in Run
resources = command_instance.Run(args)
File "/google-cloud-sdk/lib/surface/app/deploy.py", line 90, in Run
parallel_build=False)
File "/google-cloud-sdk/lib/googlecloudsdk/command_lib/app/deploy_util.py", line 573, in RunDeploy
args.deployables, stager, deployables.GetPathMatchers())
File "/google-cloud-sdk/lib/googlecloudsdk/command_lib/app/deployables.py", line 334, in GetDeployables
service = Service.FromPath(path, stager, path_matchers)
File "/google-cloud-sdk/lib/googlecloudsdk/command_lib/app/deployables.py", line 102, in FromPath
service = matcher(path, stager)
File "/google-cloud-sdk/lib/googlecloudsdk/command_lib/app/deployables.py", line 175, in AppengineWebMatcher
staging_dir = stager.Stage(descriptor, app_dir, 'java-xml', env.STANDARD)
File "/google-cloud-sdk/lib/googlecloudsdk/command_lib/app/staging.py", line 387, in Stage
return command.Run(self.staging_area, descriptor, app_dir)
File "/google-cloud-sdk/lib/googlecloudsdk/command_lib/app/staging.py", line 171, in Run
args = self.GetArgs(descriptor, app_dir, staging_dir)
File "/google-cloud-sdk/lib/googlecloudsdk/command_lib/app/staging.py", line 251, in GetArgs
return self._mapper(self.GetPath(), descriptor, app_dir, staging_dir)
File "/google-cloud-sdk/lib/googlecloudsdk/command_lib/app/staging.py", line 107, in _JavaStagingMapper
java_bin = java.RequireJavaInstalled('local staging for java')
File "/google-cloud-sdk/lib/googlecloudsdk/command_lib/util/java.py", line 54, in RequireJavaInstalled
v=min_version))
JavaError: To use the local staging for java, a Java 7+ JRE must be installed and on your system PATH
ERROR: (gcloud.app.deploy) To use the local staging for java, a Java 7+ JRE must be installed and on your system PATH
有些人在尝试创建相同的工作流时遇到了相同的问题,但是使用了github。可以查看相同的问题。这家伙通过向Docker添加openjdk-8解决了这个问题 您可以看到如何将openjdk-8添加到Docker 如果这不适合你,请让我知道,我会尝试编辑我的答案
您可能还想检查谷歌云和使用CI。这可能对您的CI工作流有帮助。有些人在尝试创建相同的工作流时遇到了相同的问题,但使用github。可以查看相同的问题。这家伙通过向Docker添加openjdk-8解决了这个问题 您可以看到如何将openjdk-8添加到Docker 如果这不适合你,请让我知道,我会尝试编辑我的答案
您可能还想检查谷歌云和使用CI。这可能对您的CI工作流程有所帮助。我无法将这段代码整合起来,以便将jdk安装到我的CI文件中。你能帮我集成apt get和gcloud cmds吗?你能告诉我你怎么不能集成它吗?显示一些错误或日志。请注意,您可以将该脚本与CI文件分开运行。我无法将此代码整合起来,以便将jdk安装到我的CI文件中。你能帮我集成apt get和gcloud cmds吗?你能告诉我你怎么不能集成它吗?显示一些错误或日志。请注意,可以从CI文件中单独运行该脚本。