我一直在尝试按照各种指南推送发布到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:inon_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:inbuild_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:inget' 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:inrequest' 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:inrelease' 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:ineach' 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:inblock 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:indeploy' 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:inrun' 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:inload' from /home/travis/.rvm/gems/ruby-1.9.3-p551/bin/dpl:23:in
' 未能部署
似乎releases
部署模块无法在GitHub上找到我的快照。
所以,如果我想让travis将持续的测试版本部署到GitHub - 我该怎么办? 我错过了什么?
答案 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回答您的问题。