繁体   English   中英

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

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

我正在尝试创建一个gitlab管道,用于将我的spring boot应用程序部署到google app引擎,并且我能够将应用程序引擎身份验证到gitlab,但是在ci文件的部署步骤中,我必须安装Java 7+ JRE并在系统路径上虽然我已经使用gitlab ci文件中的gcloud install components app-engine-java命令安装了它。 请提出解决此错误的必要措施。

.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

以下是调试详细信息,其中提到要使用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

有人尝试创建相同的工作流程时遇到了相同的问题,但是使用了github。 可以在此处查看相同的问题。 这个家伙通过向Docker添加openjdk-8解决了这一问题。

您可以在此处看到如何将openjdk-8添加到Docker。

如果这对您不起作用,请告诉我,我将尝试编辑答案。

您可能还需要检查Jenkins for Google Cloud,以及将Jenkins与Gitlab一起用于CI。 这可能对您的CI工作流程很有帮助。

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM