我想使用 Open JDK 8 和 9 运行我的 Circle CI 2.0 构建。是否有任何可用的 YAML 示例解释如何使用多个 JDK 版本构建 Java 项目?
目前我正在尝试将新作业 java-8
添加到我的构建中。但我不想重复默认 Java 9 build
作业的所有步骤。有没有一种 DRY 方法?
version: 2
jobs:
build:
docker:
# specify the version you desire here
- image: circleci/openjdk:9-jdk
working_directory: ~/repo
environment:
# Customize the JVM maximum heap limit
JVM_OPTS: -Xmx1g
TERM: dumb
steps:
- checkout
# Run all tests
- run: gradle check
java-8:
- image: circleci/openjdk:8-jdk
最佳答案
您可以使用YAML anchors实现合理的DRY方法。例如,它可能看起来像:
version: 2
shared: &shared
working_directory: ~/repo
environment:
# Customize the JVM maximum heap limit
JVM_OPTS: -Xmx1g
TERM: dumb
steps:
- checkout
# Run all tests
- run: gradle check
jobs:
java-9:
docker:
- image: circleci/openjdk:9-jdk
<<: *shared
java-8:
docker:
- image: circleci/openjdk:8-jdk
<<: *shared
关于circleci - 使用多个 JDK 运行 CircleCI 2.0 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48991482/