如何在Travis CI中添加SSH密钥?

时间:2014-12-12 13:39:49

标签: github continuous-integration git-submodules travis-ci ssh-keys

在Travis Doc中,“设置”中有“SSH密钥”选项卡,但在我的帐户中没有。我需要在GitHub上添加SSH密钥来克隆子模块。

我的帐户:

enter image description here

Travis Doc:

enter image description here

3 个答案:

答案 0 :(得分:14)

使用SSH密钥仅适用于travis-ci.com上的私人存储库(付费方案)。

使用travis命令行工具,您可以生成一个新的SSH密钥,该密钥将在Travis CI和您的GitHub用户帐户上设置(如果您使用专用的GitHub用户进行Travis CI)。

以下是必要的控制台命令:

# Install Travis command line tool
gem install travis

# Login to Travis Pro (private repositories) account
travis login --pro

# Generate and setup SSH key for your GitHub repository
travis sshkey --generate -r organization/repository

除了使用travis生成新的SSH密钥外,还可以上传现有的SSH密钥:

travis sshkey --upload "C:\my_keys\id_rsa" -r organization/repository

创建SSH密钥后,建议您从Travis用户的config目录中的.ssh文件中注册此密钥。您可以通过将以下行添加到.travis.yml

来执行此操作
# http://docs.travis-ci.com/user/build-lifecycle/
before_script:  
  - echo -e "Host github.com\n\tHostName github.com\n\tUser git\n\tIdentityFile ~/.ssh/id_rsa\n" >> ~/.ssh/config

有关详细信息,请参阅官方文档的链接:Generating a new key

答案 1 :(得分:9)

此功能目前仅适用于私人存储库。

对于公共存储库,您不应该将它们作为私有Git URL(假设它们在GitHub上),因此更改URL以使用公共克隆URL应该可以解决问题。

答案 2 :(得分:0)

有关详细内容,请参见https://oncletom.io/2016/travis-ssh-deploy/

本文介绍了必要的步骤和陷阱