我希望我可以添加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/'
这背后的原因是与安全相关,但不是你所描述的方式。公众回购 - 顾名思义 - 公共,这意味着任何人都可以提取变更,但只有选定的人可以推动。由于特拉维斯默认只从回购中提取,因此特拉维斯无需拥有特殊的访问权限。
如果Travis无论如何都会请求写访问权限,那么许多用户会抱怨不信任Travis,因为它要求对默认情况下不应该执行的操作的权限。
如果您希望授予Travis写访问权限,那么唯一的方法就是您在问题中描述的那些,但我会为了完整性而总结它们(从大多数到不太喜欢):
只有当您希望能够将提交与Travis完成的提交分开时,才需要为Travis创建单独的帐户,但它不会添加任何安全层。
无论您选择何种方式,加密信息都是安全的。如果有人提交拉取请求并且您为拉取请求启用了构建,则Travis不会与提交者(as stated in the docs)共享您的加密密钥。
我最终使用了https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/的github访问令牌,但我仍然渴望听到更好的替代品......