我希望我可以添加travis.ci作为合作者,但没有找到任何朝着这个方向发展的东西。也许这是一种安全措施,因为他们不想在虚拟环境中泄漏其凭据。
其他(不令人满意的)想法:
有人有更好的主意吗?
上下文:我正在从travis.ci发布我的项目,它会自动分配一个作为git标签跟踪的新版本号,例如v1.0.5
如果不进行任何设置,则显然由于缺少权限而失败:
pushing to remote, using `git push origin v0.1.41`
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/mpollmeier/sbt-ci-release-early-usage.git/'
答案 0 :(得分:1)
其背后的原因与安全性有关,但与您描述的方式无关。公用存储库-顾名思义-是公共的,这意味着任何人都可以进行更改,但只有选定的人才能进行更改。由于Travis默认情况下仅从回购中提取信息,因此Travis无需具有特殊的访问权限。
如果Travis无论如何都会请求写访问权限,那么许多用户会抱怨不信任Travis,因为它请求对默认情况下不应执行的操作的许可。
如果您仍然希望授予Travis写访问权限,那么唯一的方式就是您在问题中所描述的方式,但是为了完整起见,我将对其进行总结(从最不推荐到次要):
仅当您希望将提交与Travis所做的提交分开时,才需要为Travis创建一个单独的帐户,但这并不会增加任何安全性。
无论选择哪种方式,加密信息在设计上都是安全的。如果有人提交了拉取请求,并且您为拉取请求启用了构建,则Travis不会与提交者(as stated in the docs)共享您的加密密钥。
答案 1 :(得分:0)
我最终使用的github访问令牌 https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/,但我仍然渴望听到更好的选择...