我在使用带有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:
答案 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
是您的仓库:
read:org, public_repo, repo:status, repo_deployment, user:email, write:repo_hook
travis login <your token> --org
echo <your key> | travis encrypt --org -r your/repo
.travis.yml
文件中使用该机密您可能需要提供完整的回购范围,但是对于Travis的免费层,public_repo
就足够了。我也不确定其他哪些范围是强制性的。
echo
在Windows上很有用,因为Ctrl-D在Powershell中无法正常工作。