这就是我所做的。我构建我的maven项目并尝试将其部署在相关的github repo版本上。为此我从Setting>developer>Private Token
生成了一个OAuth2访问令牌,给出了所有权限。一旦新密钥输入travis配置文件。它工作正常,部署发生Success Build log。当我使用curl https://api.github.com/?access_token=OAUTH-TOKEN
卷曲新鲜令牌时,我甚至可以获取数据。
在一段时间后我再次建立新的提交/轮胎时,我会在travis构建中遇到未经授权的访问错误;
/home/travis/.rvm/gems/ruby-2.2.7/gems/octokit-4.6.2/lib/octokit/response/raise_error.rb:16:in `on_complete': GET https://api.github.com/user: 401 - Bad credentials // See: https://developer.github.com/v3 (Octokit::Unauthorized)
。这是我的maven构建的.travis.yml;
language: java
cache:
directories:
- /home/travis/build/namila007/Maze-Solver/target/
jdk: oraclejdk8
sudo: false # faster builds
script: "mvn install"
before_deploy:
- "mvn -DskipTests package"
deploy:
# GitHub - Add zip to release
- provider: releases
api_key:
secure: MY_TOKEN
file: /home/travis/build/namila007/Maze-Solver/target/Maze-Solver-1.0-SNAPSHOT.jar
skip_cleanup: true
on:
tags:
all_branches: true
on_success: always
on_failure: never
这里发生了什么?
PS-我发现我在github帐户中生成的令牌在我刷新页面后不存在。它没有显示在那里。
答案 0 :(得分:0)
好的,我找到了问题。
1- 令牌密钥删除 - github删除你的私人令牌访问,如果它在公共仓库中找到。(上一次我使用私人仓库,它没有被github删除)。所以不发布公共回购中的令牌。
2- travis api_key变量 - 您可以按照以下方式给出api_key var;
api_key: "GITHUB OAUTH TOKEN"
或加密;
api_key:
secure: YOUR_API_KEY_ENCRYPTED
您可以阅读document
如果您使用第一种方法,请将密钥保存为travis环境并在脚本中调用它。
即:如果我给KEY,我可以在api_key: ${KEY}
文件中使用.travis.yml
。如果您需要加密并添加它,请使用第二种方法并阅读encrypt key document
这里我使用了第一种方法并且它有效。 ;)