在travis-ci中跳过第一个mvn安装

Luc*_*oli 9 travis-ci

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

mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V
Run Code Online (Sandbox Code Playgroud)

由于超时而失败:

No output has been received in the last 10 minutes, this potentially
indicates a stalled build or something wrong with the build itself
Run Code Online (Sandbox Code Playgroud)

根据文档我应该能够覆盖它定义自定义脚本,.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
Run Code Online (Sandbox Code Playgroud)

有没有办法避免自动mvn安装或调整它?

gvl*_*sov 10

这在文档中提到:

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

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

install: true
Run Code Online (Sandbox Code Playgroud)

这个install步骤在script步骤之前运行,并且使用Maven你通常不需要这个install步骤,至少我个人没有发现它有用 - Maven script无论如何都会下载步骤依赖.


cth*_*aud 9

我遇到过同样的问题.经过与Travis CI支持的一些讨论后,它得以解决.以下是他们的回复:

该maven命令作为构建的安装部分的一部分运行,它是默认的.

如果您想跳过此步骤,可以通过将其添加到您的.travis.yml文件来覆盖它:

install: /bin/true

  • 主要问题是maven加载了/ etc / mavenrc来设置最小/最大内存,如果您的构建需要自定义设置,则会导致问题。我最终写了[this](https://github.com/lburgazzoli/quickfixj/blob/travis-ci-build/.travis.yml) (2认同)

Lia*_*ams 6

我发现有用的install: mvn dependency:resolve步骤是预先下载构建依赖项,以便使实际构建脚本的输出保持干净,这很有用。