简体   繁体   English

无法通过gitlab将代码部署到Google Cloud App Engine

[英]Unable to deploy my code to google cloud app engine via gitlab

I am trying to create a gitlab pipeline for deploying my spring boot app to google app engine and i am able to authenticate app engine to gitlab but at deployment step of ci file i am getting Java 7+ JRE must be installed and on your system PATH though i have installed it with gcloud install components app-engine-java command in gitlab ci file. 我正在尝试创建一个gitlab管道,用于将我的spring boot应用程序部署到google app引擎,并且我能够将应用程序引擎身份验证到gitlab,但是在ci文件的部署步骤中,我必须安装Java 7+ JRE并在系统路径上虽然我已经使用gitlab ci文件中的gcloud install components app-engine-java命令安装了它。 Please suggest what needs to be done to resolve this error. 请提出解决此错误的必要措施。

.gitlab-ci.yml file: .gitlab-ci.yml文件:

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

Below are the debug details which mentions that to use the local staging for java, java JRE must be installed though i have installed it using gcloud install components google-app-engine cmd: 以下是调试详细信息,其中提到要使用Java的本地登台,尽管我已使用gcloud install组件google-app-engine cmd安装了Java JRE,但必须安装Java JRE:

$ 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

Some people got the same issue trying to create the same workflow, but with github. 有人尝试创建相同的工作流程时遇到了相同的问题,但是使用了github。 The same issue can be viewed here . 可以在此处查看相同的问题。 This guy solved this by adding openjdk-8 to Docker. 这个家伙通过向Docker添加openjdk-8解决了这一问题。

You can see here how to add openjdk-8 to Docker. 您可以在此处看到如何将openjdk-8添加到Docker。

If this did not work for you, please let me know and I will try to edit my answer. 如果这对您不起作用,请告诉我,我将尝试编辑答案。

You may also want to check Jenkins for Google Cloud and using Jenkins with Gitlab for CI. 您可能还需要检查Jenkins for Google Cloud,以及将Jenkins与Gitlab一起用于CI。 It may be helpful for your CI workflow. 这可能对您的CI工作流程很有帮助。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Google APP Engine 和云 sql :: 无法在 Google 云 sql(我的 sql)中连接 Spring boot 应用程序 - Google APP Engine and cloud sql :: Unable to connect Spring boot app in Google cloud sql (my sql) 无法通过Eclipse部署到Google App Engine - Unable to deploy to google app engine through eclipse 无法在Google App Engine上部署java项目 - Unable to deploy java project on Google App Engine 使用 Gitlab CI 将 Spring 引导应用程序部署到 Google App Engine? - Deploy Spring Boot application to Google App Engine using Gitlab CI? Java 应用程序的 Google Cloud App Engine 部署失败 - Google Cloud App Engine deploy of java app fails 无法使用Bitbucket管道在Google云应用引擎上进行部署 - Cant deploy on google cloud app engine using Bitbucket pipeline 使用应用引擎部署本地主机上的谷歌云应用引擎和 Spring Boot 错误 - google cloud app engine and spring boot bug on localhost deploy with app engine 在Google App Engine上部署应用程序 - Deploy the app on Google App Engine Google App Engine简单应用已创建并在本地运行。 但是我无法部署到App Engine - Google App Engine simple app is created and working on local. But i am unable to deploy to App Engine Google App Engine-如何部署持续运行的代码? - Google App Engine - How to deploy constantly running code?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM