在 GitHub 工作流程中单独提供 Maven 参数

问题描述 投票:0回答:1

给定一个工作流程文件,其中包含 Maven 构建步骤,如下所示:

      steps:
      - name: verify
        run: mvn --show-version --no-transfer-progress --update-snapshots --fail-at-end --batch-mode -Dstyle.color=always verify

由于我需要向调用添加额外的目标,所以我更愿意将其他参数分组到其他地方 - 像这样:

      steps:
      - name: verify
        with:
          args:
            --show-version
            --no-transfer-progress
            --update-snapshots
            --fail-at-end
            --batch-mode
            -Dstyle.color=always
        run: mvn verify

不幸的是失败了

The workflow is not valid. .github/workflows/ci.yml (Line: 48, Col: 9): Unexpected value 'run' .github/workflows/ci.yml (Line: 39, Col: 9): Required property is missing: uses
maven github github-actions
1个回答
0
投票

按照 jonrsharpe 的提醒,关于 YAML 功能,我现在使用 folded block 标量样式strip 折叠来定义环境变量,例如:

env:
  MAVEN_OPTS: '-Dstyle.color=always'
  MAVEN_SWITCHES: >-
    --show-version
    --no-transfer-progress
    --update-snapshots
    --fail-at-end
    --batch-mode

在工作流程 YAML 的顶部,它可以将 Maven 调用重构为:

    # …
      steps:
      - name: verify
        run: mvn ${{ env.MAVEN_SWITCHES }} verify

注意:

MAVEN_OPTS
在运行命令中不会分解,因为它是自动应用的常见Maven环境变量

© www.soinside.com 2019 - 2024. All rights reserved.