【问题标题】:Skip first mvn install in travis-ci在 travis-ci 中跳过第一个 mvn 安装
【发布时间】:2017-08-09 20:42:09
【问题描述】:

我在 travis-ci 上使用 maven 构建项目时遇到了麻烦,因为 travis 会自动运行

mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V

由于超时而失败:

No output has been received in the last 10 minutes, this potentially
indicates a stalled build or something wrong with the build itself

根据文档,我应该能够覆盖它,在.travis.yml 中定义一个自定义脚本,但它不起作用,这是我的配置:

  sudo: false
  language:
    - java
  script: "travis_wait mvn -T4 -pl quickfixj-codegenerator install"
  jdk:
    - oraclejdk8
  env:
    - MAVEN_OPTS="-Xms2048m -Xmx=2048m"
  branches:
    only:
      - travis-ci-build

有什么方法可以避免自动安装 mvn 或对其进行调整?

【问题讨论】:

    标签: travis-ci


    【解决方案1】:

    这在文档中有提到:

    http://docs.travis-ci.com/user/customizing-the-build/#Skipping-the-Installation-Step

    您可以通过将以下内容添加到您的 .travis.yml 来完全跳过安装步骤:

    install: true
    

    install 步骤在 script 步骤之前运行,而使用 Maven,您通常不需要 install 步骤,至少我个人从未发现它有用 — Maven 将下载 script 上的依赖项无论如何都要走。

    【讨论】:

    • 这是真的,但它并不能解决问题,因为 mavenrc 设置会覆盖您可能使用 env 设置的任何内存设置,因此构建将失败,因此您需要跳过安装并使用自定义脚本来设置正确的环境
    • 我喜欢执行echo Skipping install step,而不是执行true,它实现了同样的效果,但也打印了一条信息性消息。
    【解决方案2】:

    我有同样的问题。在与 Travis CI 支持人员讨论后解决了这个问题。这是他们的回应:

    该 maven 命令作为您的安装部分的一部分运行 构建,这是默认设置。

    如果你想跳过这一步,你可以通过添加这个来覆盖它 你的.travis.yml 文件:

    install: /bin/true

    【讨论】:

    • 主要问题是 maven 加载 /etc/mavenrc 设置最小/最大内存,如果您的构建需要自定义设置,这会导致问题。我最终写了this
    【解决方案3】:

    我发现有一个install: mvn dependency:resolve 步骤来预先下载构建依赖项很有用,这样实际构建脚本的输出就会保持干净

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-03
      • 1970-01-01
      • 1970-01-01
      • 2018-04-30
      • 2023-03-30
      • 2016-05-03
      相关资源
      最近更新 更多