Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
travis gitflow java maven工作流_Maven_Travis Ci_Git Flow_Sonatype - Fatal编程技术网

travis gitflow java maven工作流

travis gitflow java maven工作流,maven,travis-ci,git-flow,sonatype,Maven,Travis Ci,Git Flow,Sonatype,我都 正在处理github上托管的java项目。 我想将代码直接推送到sonatype on development和master branch 目前只有develope分支工作,因为我跳过了gpg签名 我将.travis文件夹中的setting.xml与我的凭据一起使用 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema

我都

正在处理github上托管的java项目。 我想将代码直接推送到sonatype on development和master branch

目前只有develope分支工作,因为我跳过了gpg签名

我将.travis文件夹中的setting.xml与我的凭据一起使用

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <servers>
        <server>
            <!-- Maven Central Deployment -->
            <id>ossrh</id>
            <username>${env.SONATYPE_USERNAME}</username>
            <password>${env.SONATYPE_PASSWORD}</password>
        </server>
    </servers>
    <profiles>
        <profile>
            <id>ossrh</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <gpg.executable>gpg</gpg.executable>
                <gpg.passphrase>${env.GPG_PASSPHRASE}</gpg.passphrase>
            </properties>
        </profile>
    </profiles>
</settings>
我的发布配置文件包括所需的部署插件

当我推一个标签/发布(比如0.0.2)时,我得到了一个错误。我希望这将使用标记部署一个发行版

开发分支工作正常,快照被正确部署到sonatype repo

提前谢谢

这是travis日志错误


命令“mvn--settings.travis/settings.xml clean verify”已与0一起退出。
跳过脚本提供程序的部署,因为不允许此分支
dpl.0
取数:dpl-1.8.31.gem(100%)取数:dpl-1.8.31.gem(100%)
已成功安装dpl-1.8.31
已安装1个gem
dpl.1
安装部署依赖项
!!! 脚本支持是实验性的!!!
准备部署
使用“git stash--all”清理git存储库。如果需要为部署生成构件,请设置“deploy.skip\u cleanup:true”。看见https://docs.travis-ci.com/user/deployment/#Uploading-档案。
没有要保存的本地更改
dpl.3
部署应用程序
没有找到藏品。
/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.31/lib/dpl/cli.rb:54:“系统”中:第一个参数错误(ArgumentError)
from/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.31/lib/dpl/cli.rb:54:在“shell”中
from/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.31/lib/dpl/provider/script.rb:18:在“推送应用程序”中
from/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.31/lib/dpl/provider.rb:146:在“部署中的块”中
from/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.31/lib/dpl/cli.rb:41:in“fold”
from/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.31/lib/dpl/provider.rb:146:在“部署”中
from/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.31/lib/dpl/cli.rb:32:在“运行”中
from/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.31/lib/dpl/cli.rb:7:在“运行”中
from/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.31/bin/dpl:5:in`'
from/home/travis/.rvm/gems/ruby-1.9.3-p551/bin/dpl:23:in'load'
from/home/travis/.rvm/gems/ruby-1.9.3-p551/bin/dpl:23:in`'
未能部署

经过多次尝试和错误后,我意识到在travis上尝试和签署发布版本太多了,没有好的支持,这是一个遗憾

我的替代解决方案是使用bintray-> 它提供了一个发布回购协议,可以自动对JAR进行gpg签名。它还与sonatype同步,所以我相信这是一个使用maven的完整解决方案

在pom中,我使用插件自动化了版本控制-> 注意我没有从特拉维斯那里承诺

为了简单起见,我将快照直接保存到sonatype中->

您可以在此处查看我的工作流程->


使用gitflow,正常的CommittoDevelop分支将自动将快照推送到sonatype。使用版本(标记后)将触发构建,并使用maven版本插件进行反向,该插件将从pom中删除快照并部署到bintray。

不完全确定如何帮助您,但浏览DPL时,我确实看到了这一点:,您可以在那里查看一下,看看是否有任何提交为您提供了如何使其工作的线索。为了避免设置版本,可以执行
${revision}
,请参见此处:对于travis,我遵循的是:唯一重要的事情是存储与GPG相关的环境变量,而不使用换行符,例如
GPG——导出所有者信任| base64 | tr-d'\n'
language: java
jdk:
  - oraclejdk8

script:
 - mvn --settings .travis/settings.xml clean verify

deploy:
 -
  provider: script
  script:
   - mvn --settings .travis/settings.xml deploy -D gpg.skip -P release
  on:
    branch: develop
 -
  provider: script
  script:
   - mvn --settings .travis/settings.xml org.codehaus.mojo:versions-maven-plugin:2.3:set -D newVersion=$TRAVIS_TAG -P release
   - .travis/gpg.sh
   - mvn clean deploy --settings .travis/settings.xml -D skipTests=true --batch-mode --update-snapshots -P release
  on:
    tags: true