2013-05-19 49 views
13

我正在做我的構建中的某些東西,以便在我的Travis測試中獲得此輸出。它掛起,因爲我的測試不能接受或拒絕,並導致測試失敗:自動授權Travis CI上的SSH認證請求

The authenticity of host 'heroku.com (50.19.85.154)' can't be established. 
RSA key fingerprint is 8b:48:5e:67:0e:c9:16:47:32:f2:87:0c:1blah. 
Are you sure you want to continue connecting (yes/no)? 

我曾與github.com類似的問題,但我改變爲只讀的URL。與其爲每個承載git repo的x.com處理這個問題,有沒有辦法讓travis只通過ssh自動授權任何auth請求?我可以通過如下方式在本地執行此操作:http://debuggable.com/posts/disable-strict-host-checking-for-git-clone:49896ff3-0ac0-4263-9703-1eae4834cda3是否可以在Travis上設置類似的內容?

回答

26

好吧,想我想通了。一種選擇是那些行添加到您的〜/ .ssh /配置在這樣的before_script:

before_script: 
    - echo -e "Host heroku.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config 
    - echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config 

似乎這樣的伎倆。

+1

偉大的發現人,之前也有這個問題。 –

+1

這的確是正確的做法。任何機會你都可以接受你自己的答案(這樣的問題不再顯示爲「未答覆」)? – henrikhodne

+0

我將上述內容添加到了我的〜/ .ssh/config和我的.travis.yml文件中,但都沒有成功,我錯過了什麼? – Intentss

3

如果您收到此錯誤與特拉維斯-CI可能是因爲在你的寶石文件中的瑰寶之一是使用github上@git

例如這樣的:

gem 'pi_piper', :git => '[email protected]:bguest/pi_piper.git', :branch => 'stub-driver' 

需要的樣子這

gem 'pi_piper', :git => 'https://github.com/bguest/pi_piper.git', :branch => 'stub-driver'