推送github发布要求

时间:2014-12-16 13:16:24

标签: git github deployment release travis-ci

我一直在尝试按照各种指南推送发布到GitHub,但我遗漏了一些关键信息。

这种推动工作需要什么?

这是我的.travis.yml

language: java
git:
  submodules: false
deploy:
  provider: releases
  api_key:
    secure: JjpBYKmA8ByMiNEXLQcR...
  file: target/uSkyBlock.jar
  release-number: latest
  skip_cleanup: true
  on:
    tags: true
    repo: rlf/uSkyBlock
    branch: v2.0.0
    all_branches: true
cache:
  directories:
  - $HOME/.m2

即。如果我希望CI推送SNAPSHOT版本,我应该做什么,不应该做什么?

我已尝试添加或删除on:tags子句以及其他各种工作,但无论如何,我在尝试部署时都会遇到以下情况:

  

/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/octokit-3.7.0/lib/octokit/response/raise_error.rb:16:in on_complete': GET https://api.github.com/repos/rlf/uSkyBlock/releases/latest: 404 - Not Found // See: https://developer.github.com/v3 (Octokit::NotFound) from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/faraday-0.9.0/lib/faraday/response.rb:9:in阻止通话“     来自/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/faraday-0.9.0/lib/faraday/response.rb:57:in on_complete' from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/faraday-0.9.0/lib/faraday/response.rb:8:in来电'     来自/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/faraday-0.9.0/lib/faraday/rack_builder.rb:139:in build_response' from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/faraday-0.9.0/lib/faraday/connection.rb:377:in run_request'     来自/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/faraday-0.9.0/lib/faraday/connection.rb:140:in get' from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/sawyer-0.6.0/lib/sawyer/agent.rb:94:in来电     来自/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/octokit-3.7.0/lib/octokit/client.rb:339:in request' from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/octokit-3.7.0/lib/octokit/client.rb:135:in获取'     来自/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/octokit-3.7.0/lib/octokit/client/releases.rb:41:in release' from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.7.8/lib/dpl/provider/releases.rb:105:in块中的push_app'     来自/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.7.8/lib/dpl/provider/releases.rb:102:in each' from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.7.8/lib/dpl/provider/releases.rb:102:in push_app'     来自/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.7.8/lib/dpl/provider.rb:131:in block in deploy' from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.7.8/lib/dpl/cli.rb:41:in fold'     来自/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.7.8/lib/dpl/provider.rb:131:in deploy' from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.7.8/lib/dpl/cli.rb:32:in run'     来自/home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.7.8/lib/dpl/cli.rb:7:in run' from /home/travis/.rvm/gems/ruby-1.9.3-p551/gems/dpl-1.7.8/bin/dpl:5:in'     来自/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'   未能部署

似乎releases部署模块无法在GitHub上找到我的快照。

所以,如果我想让travis将持续的测试版本部署到GitHub - 我该怎么办? 我错过了什么?

1 个答案:

答案 0 :(得分:1)

在这些论坛上完全没有帮助之后,在IRC上没有答案 - 这是我解决问题的方法。

这是travis的“指南”和各种相关问题上的点点滴滴之间的混合。

travis setup releases

会做到最好,但对我来说,有些事情失败了,我无法回到正轨。 所以,解决方案是:

a)查找并安装travis-cli - 我设法在我的Windows机器上执行此操作,虽然在Linux上更容易(但是,这是上述步骤所需要的,它仍然需要完成)。

b)转到“应用程序”下的“GitHub设置”页面,找到“rlf / uSkyBlock的自动发布”。

c)重新生成一个新密钥 - 并将其复制(如果不这样做,它将会消失)。

d)启动travis-cli,并加密密钥:

travis encrypt GITHUB_TOKEN=mytokenhere --add

e)使用.travis.yml

中的环境变量
deploy:
  api-key: ${GITHUB_TOKEN}

现在似乎有效。

无需使用Curl或GitHub API - 无需等待travis-ci回答您的问题。