【问题标题】:Deploying a Maven version to Github using Travis CI使用 Travis CI 将 Maven 版本部署到 Github
【发布时间】:2014-11-13 00:07:58
【问题描述】:

我成功地使用标签将一个 JAR 从一个 maven 项目部署到 Github。但是,当前配置假定 JAR 的文件名始终保持不变,但事实并非如此。当我发布新版本时,这将相应更改,因此部署将失败。

有没有办法可以在 YAML 文件中使用某种通配符?根据我在 Stackoverflow 和网络上的发现,YAML 不支持通配符。如果不操纵 .travis.yml 文件本身,我找不到其他 hack 方法,我想避免这种情况。

版本字符串在pom.xml中可用。

当前.travis.yml:

language: java
jdk:
- openjdk7

deploy:
  provider: releases
  api_key:
    secure: asfdsdflkjsdflkj...
  file: target/helloci-1.0-SNAPSHOT.jar
  on:
    repo: ktk/helloci
    all_branches: true
    tags: true

我当然可以以某种方式编写脚本,但 Travis CI 会更改其自己的配置文件,我不确定这 a) 是否可行,b) 是否是个好主意。

我正在玩的回购:https://github.com/ktk/helloci

【问题讨论】:

    标签: maven deployment github travis-ci


    【解决方案1】:

    抱歉,通配符模式目前不起作用,但我们将研究如何在 Travis CI 上实现这一点。

    【讨论】:

      【解决方案2】:

      解决方法是让 maven 使用固定名称生成文件,这可以通过

      <build>
          <finalName>helloci</finalName>
      </build>
      

      但是,如果您不是在 travis-ci 上构建,您可能希望按照 maven 约定保留名称。您可以通过将以下内容添加到您的 pom 来实现此目的:

      <properties>
          <finalName>${project.artifactId}-${project.version}</finalName>
      </properties>
      <build>
          <finalName>${finalName}</finalName>
      

      并在执行 maven 时通过将以下 2 行添加到您的 .travis.yml 文件中来传递 -DfinalName=helloci

      before_install: mvn install -DskipTests=true -DfinalName=helloci
      install: mvn test
      

      您可能还想将标签名称添加到生成文件的名称中。这可以通过以下方式实现:

      before_install: mvn install -DskipTests=true -DfinalName=helloci-$TRAVIS_TAG
      deploy:
        file: target/helloci-$TRAVIS_TAG.jar
      

      【讨论】:

        【解决方案3】:

        现在支持通配符,我运行这个设置:

        before_deploy:
          - "mvn -DskipTests package"
          - export FOO=$(ls target/foo-version-*.jar)
        
        deploy:
          provider: releases
          api_key:
            secure: yep
          file: "${FOO}"
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-09-10
          • 1970-01-01
          • 2018-01-31
          • 2015-07-31
          • 1970-01-01
          • 2019-12-28
          • 2020-07-01
          • 1970-01-01
          相关资源
          最近更新 更多