Travis CI github未经授权发布

时间:2018-04-29 13:38:27

标签: java github deployment configuration travis-ci

这就是我所做的。我构建我的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帐户中生成的令牌在我刷新页面后不存在。它没有显示在那里。

1 个答案:

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

这里我使用了第一种方法并且它有效。 ;)