2015-01-27 5 views
2

работ: http://docs.travis-ci.com/user/deployment/ и http://docs.travis-ci.com/user/deployment/releases/Travis CI развернуть JAR на GitHub мастер

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

процесс Строительства работает нормально, но когда я использую этот travis.yml файл:

language: java 
deploy: 
    provider: releases 
    api-key: "<my_api_key>" 
    file: "teapot-1.2.5-beta.jar" 
    skip_cleanup: true 
    on: 
    branch: master 

Я получил эту ошибку:

Installing deploy dependencies 
Fetching: addressable-2.3.6.gem (100%) 
Successfully installed addressable-2.3.6 
Fetching: multipart-post-2.0.0.gem (100%) 
Successfully installed multipart-post-2.0.0 
Fetching: faraday-0.9.1.gem (100%) 
Successfully installed faraday-0.9.1 
Fetching: sawyer-0.6.0.gem (100%) 
Successfully installed sawyer-0.6.0 
Fetching: octokit-3.7.0.gem (100%) 
Successfully installed octokit-3.7.0 
5 gems installed 
Fetching: mime-types-2.4.3.gem (100%) 
Successfully installed mime-types-2.4.3 
1 gem installed dpl.2 
Preparing deploy 
Logged in as Carlos Magno Oliveira de Abreu 

Deploying to repo: icemagno/teapot 
Current tag is: dpl.3 
Deploying application 
/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/octokit-3.7.0/lib/octokit/response/raise_error.rb:16:in `on_complete': POST https://api.github.com/repos/icemagno/teapot/releases: 422 - Validation Failed (Octokit::UnprocessableEntity) 
Error summary: 
resource: Release 
code: missing_field 
field: tag_name 
resource: Release 
code: custom 
field: tag_name 
message: tag_name is not well-formed 
resource: Release 
code: custom 
message: Published releases must have a valid tag // See: https://developer.github.com/v3/repos/releases/#create-a-release 
... 
failed to deploy 

Это основное развертывание конфигурация:

language: java 

deploy: 
    provider: releases 
    api-key: "<my_key_again>" 
    file: "teapot-1.2.5-beta.jar" 
    skip_cleanup: true 
    on: 
    tags: true 
    all_branches: true 

Но я не создал ни одного тега, потому что пока не хочу этого делать.

EDIT

Я создал тег, теперь мне нужно изменить .travis.yml файл, чтобы проверить некоторые конфигурации и GitHub не позволяет мне изменить что-либо на файлы теги (ки, должна быть этим путем) кра #п !

ответ

2

Если возможно, я считаю, что то, что вы ищете, такое же, как I was.

В основном добавить что-то вроде следующего к вашему .travis.yml:

before_deploy: 
    - git config --global user.email "[email protected]" 
    - git config --global user.name "Travis CI" 
    - export GIT_TAG=$TRAVIS_BRANCH-v0.1.$TRAVIS_BUILD_NUMBER 
    - git tag $GIT_TAG -a -m "Generated tag from TravisCI for build $TRAVIS_BUILD_NUMBER" 
    - git push -q https://<your-api-key>@github.com/<your_name>/<project_name> --tags 

deploy: 
    skip_cleanup: true 
    provider: releases 
    api_key: 
    secure: [redacted] 
    file: 
    - "your_file" 
    on: 
    tags: false 
    all_branches: true 

branches: 
    except: 
    - /^*-v[0-9]/ 

Тщательное делать это, хотя, как Мессинг во время работы с этими конкретными вариантами конфигурации может привести к петле построения бесконечного Travis-CI, который будет загрязнять историю создания и тегов, а также нелегкую очистку.

+0

Спасибо. Пожалуйста, расскажите мне больше о том, как я могу это испортить. –

+0

Если вы установили on.tags: true, то каждый раз, когда вы нажимаете, он добавляет тег сборки, который запускает другую сборку, тем самым зацикливая. – RlonRyan

+0

Ах! понят. Я думаю, вы должны написать это жирным предупреждением в своем ответе. –

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