2017-02-14 6 views
0

Я все,travis gitflow java maven рабочий процесс

работа над проектом java, размещенным на github. Я хотел бы нажать код непосредственно на sonatype на развитие и мастер-ветку.

в настоящее время только развивать филиал работает, потому что я пропустил подписание GPG

Я использую setting.xml в .travis папку с моими учетными

<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> 

мой travis.yml выглядит следующим образом:

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 

Мой профиль выпуска включает необходимые модули для развертывания.

Я получаю сообщение об ошибке, когда я нажимаю тег/релиз (например, 0.0.2). Я ожидаю, что это разблокирует выпуск с помощью тега.

Развернутая ветка прекрасно работает, и снимок устанавливается на правильное воспроизведение соната.

https://github.com/effectus-io/effectus-parent

заранее спасибо

здесь Трэвис журнал ошибок.

The command "mvn --settings .travis/settings.xml clean verify" exited with 0. Skipping a deployment with the script provider because this branch is not permitted dpl.0 Fetching: dpl-1.8.31.gem (100%)Fetching: dpl-1.8.31.gem (100%) Successfully installed dpl-1.8.31 1 gem installed dpl.1 Installing deploy dependencies !!! Script support is experimental !!! Preparing deploy Cleaning up git repository with `git stash --all`. If you need build artifacts for deployment, set `deploy.skip_cleanup: true`. See https://docs.travis-ci.com/user/deployment/#Uploading-Files. No local changes to save dpl.3 Deploying application No stash found. /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.31/lib/dpl/cli.rb:54:in `system': wrong first argument (ArgumentError) from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.31/lib/dpl/cli.rb:54:in `shell' from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.31/lib/dpl/provider/script.rb:18:in `push_app' from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.31/lib/dpl/provider.rb:146:in `block in deploy' 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:in `deploy' from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.31/lib/dpl/cli.rb:32:in `run' from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.31/lib/dpl/cli.rb:7:in `run' from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.8.31/bin/dpl:5:in `<top (required)>' 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 `<main>' failed to deploy

+0

Не совсем уверен, как вам помочь, но просматривая DPL, я видел это: https://github.com/travis-ci/dpl/pull/466, вы можете посмотреть там и посмотреть, не зафиксировано ли какое-либо из обязательств дайте вам понять, как заставить его работать. – DarthHater

ответ

0

после долгих проб и ошибок я понял, что это просто слишком много работы, чтобы попытаться релиз знака на Трэвисе, нет хорошей поддержки и это позор.

Моим альтернативным решением является использование bintray ->https://bintray.com/ . Он обеспечивает освобождение репо с автоматическим подписями gpg. Он также синхронизируется с сонатипом, поэтому я считаю, что это полное решение с использованием maven.

in pom Я автоматизировал управление версиями плагином ->https://github.com/effectus-io/effectus-parent/blob/master/pom.xml#L299 Извещение Я не совершаю с travis!

Я сохранил снимок, подаваемый непосредственно в Sonatype для простоты ->https://github.com/effectus-io/effectus-parent/blob/master/.travis.yml#L34

вы можете увидеть мой рабочий процесс здесь ->https://github.com/effectus-io/effectus-parent/releases/tag/0.0.10

используя gitflow, нормальное обязательство развивать отрасль будет автоматически нажать снимок для Sonatype. Использование релиза (после тегов) вызовет сборку и реверсирование с использованием плагина версии maven, который удалит SNAPSHOT из pom (s) и развернется в bintray.

+0

Чтобы избежать заданной версии, можно было бы сделать ' $ {revision} ', см. Здесь: https://axelfontaine.com/blog/dead-burried.html Для travis я следовал: https: // dracoblue. net/dev/uploading-snapshots-and-releases-to-maven-central-with-travis/единственная важная вещь - хранить переменные env, связанные с GPG, без новой строки, например'gpg --export-ownertrust | base64 | tr -d '\ n'' – Karussell

Смежные вопросы