使用多个JDK运行CircleCI 2.0构建

saw*_*303 2 circleci circleci-2.0

我想使用Open JDK 8和9运行我的Circle CI 2.0构建。是否有可用的YAML示例说明如何使用多个JDK版本构建Java项目?

目前,我正在尝试java-8向我的建筑添加新工作。但是我不想重复默认Java 9 build作业的所有步骤。有干的方法吗?

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
Run Code Online (Sandbox Code Playgroud)

小智 6

您可以使用YAML定位符来实现合理的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
Run Code Online (Sandbox Code Playgroud)