Google云构建器 - Java版本

Tri*_*cke 7 java maven google-cloud-platform

我正在尝试使用Google云构建器创建构建管道.我开始时非常简单:"mvn clean deploy",我使用的cloudbuild.yaml看起来像这样:

steps:
  # Build the application with maven
  - name: 'gcr.io/cloud-builders/mvn'
    args: ['clean', 'deploy']
Run Code Online (Sandbox Code Playgroud)

这似乎工作,maven部署已启动,但最终我在编译时遇到错误:

Step #1: [ERROR] Failed to execute goal org.apache.maven.plugins:maven- 
compiler-plugin:3.1:compile (default-compile) on project codex-core-model: 
Fatal error compiling: invalid target release: 1.9 -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

我的项目是用java 9编写的,所以我必须使用jdk9编译它.显然mvn构建器使用jdk8,我使用"mvn --version"检查确定性,并得到以下结果:

Step #1: Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017- 
04-03T19:39:06Z)
Step #1: Maven home: /usr/share/maven
Step #1: Java version: 1.8.0_171, vendor: Oracle Corporation
Step #1: Java home: /usr/lib/jvm/java-8-openjdk-amd64/jre
Step #1: Default locale: en_US, platform encoding: ANSI_X3.4-1968
Step #1: OS name: "linux", version: "4.4.0-130-generic", arch: "amd64", 
family: "unix"
Run Code Online (Sandbox Code Playgroud)

我的问题:是否有一种简单的方法可以使这个构建器使用jdk9而不是jdk8?

Man*_*ngu 5

使用Java 9在GCP中没有可用的Cloud Builder映像,您可以在此处查看最新的源代码.

但您可以随时提交自己的构建步骤.如果您检查云构建Maven的时候,你可以看到,你将需要建立第一,你自己的mvn形象,像这一个,推入gcr.io.

之后,您可以推送此构建器并在管道中使用它.