travis-ci使用--github-token安装版本

时间:2014-08-14 07:38:29

标签: github travis-ci

我在使用带有github令牌的安装程序版本时遇到问题。我喜欢travis-ci,但我不愿意分发我的github密码 - 我需要使用令牌,我阅读文档,因为这应该是这样的。不幸的是,它仍然要求使用密码:

$ travis login --github-token XXXXXXXXX
Successfully logged in as ligi!

$ travis whoami 
You are ligi (ligi)

$ travis setup releases
Detected repository as ligi/gobandroid, is this correct? |yes| 
Username: 

3 个答案:

答案 0 :(得分:3)

Travis CI CLI不会将GitHub密码发送给Travis CI,而是将其发送给GitHub并使用它来生成GitHub令牌(travis login也是如此)。

但是,如果您仍感到不舒服,可以手动配置部署。

将以下内容添加到.travis.yml:

deploy:
  provider: releases
  api_key: "GITHUB OAUTH TOKEN"
  file: "FILE TO UPLOAD"
  skip_cleanup: true
  on:
    tags: true
    all_branches: true

您可以通过travis encrypt ...加密GitHub OAuth令牌。没有必要通过CLI登录,并且加密发生在本地。

有关完整文档,请参阅http://docs.travis-ci.com/user/deployment/releases/

答案 1 :(得分:0)

我认为您可以使用-t / --token选项,例如

travis login --org --github-token G1tHu8T0K3N
travis setup releases --org -t G1tHu8T0K3N

答案 2 :(得分:0)

这是一条无需在终端中输入GitHub密码的方法。我假设您已经安装了travis CI。假设您正在使用travis-ci.org,但是用--org替换--com应该可以。

如果github.com/your/repo是您的仓库:

  1. 生成具有以下范围的Github personal access tokenread:org, public_repo, repo:status, repo_deployment, user:email, write:repo_hook
  2. (可选?)使用travis login <your token> --org
  3. 登录
  4. 运行echo <your key> | travis encrypt --org -r your/repo
  5. 按照文档中的说明在您的.travis.yml文件中使用该机密

您可能需要提供完整的回购范围,但是对于Travis的免费层,public_repo就足够了。我也不确定其他哪些范围是强制性的。

echo在Windows上很有用,因为Ctrl-D在Powershell中无法正常工作。