2010-04-21 30 views
1

我有我的Hudson CI服務器設置。我有一個CVS回購,我只能通過ssh結賬。但我無法說服哈德森通過SSH註銷。提供連接字符串時,我嘗試了各種選項。如何讓Hudson CI通過SSH檢查CVS項目?

有沒有人這樣做?我得認爲它已經完成了。

+0

你能列出一些不起作用的連接字符串嗎? – 2010-04-21 17:28:25

+0

您是否從哈德森運行的機器手動嘗試過?最好在與哈德森使用相同的用戶帳戶下。它有用嗎?另外,看看下面的網頁:http://www.mtu.net/~engstrom/ssh-cvs.php – 2010-04-21 18:15:19

+0

它可以在我自己的帳戶和根目錄下(在哈德森服務器上)手動工作。我甚至使用在哈德森版本中生成的相同命令。我甚至設置它,以便這兩個帳戶可以通過將我的公鑰放置在cvs服務器上來檢出密碼。 我所使用的連接字符串是典型的: @ 我把它直接從我的CVS_HOME。我在開始時嘗試使用:ext:protocol stuff。 我想我不確定Hudson會如何運行。它會成爲tomcat嗎? – bender 2010-04-21 18:31:47

回答

2

如果我還記得CVS,我認爲你必須將CVS_RSH環境變量設置爲ssh。我懷疑你需要設置這個,這樣你的Tomcat進程才能繼承這個值。

您可以檢查哈德森系統信息,看看到底什麼樣的環境變量的JVM是看到

1

我寫了剷球這一篇文章,你可以在這裏找到它(並一起構建通行證。): http://www.openscope.net/2011/01/03/configure-ssh-authorized-keys-for-cvs-access/

基本上你想爲你的構建用戶設置無密碼的ssh密鑰。這將允許進行身份驗證,而無需制定某種方式來輸入密碼。

<編輯>即基本上是標準.ssh密鑰客戶端&服務器安裝/交換。 http://en.wikipedia.org/wiki/Secure_Shell#Key_management

對於詹金斯用戶帳戶:

  • 在〜/ .ssh(產生新鮮或利用現有的用戶密鑰)

CVS上安裝用戶密鑰(公鑰&私處)服務器:

  • 安裝在〜/ .ssh
  • 用戶密鑰(公共部分)
  • 添加到AUTHORIZED_KEYS

回詹金斯用戶帳戶:從命令行

  • 訪問CVS作爲詹金斯用戶和接受遠程主機密鑰(以known_hosts中) *注意隨時遠程服務器更改關鍵/ IP,您將需要手動訪問CVS,並再次接受鑰匙*

< /編輯>

還有另一種方法可以做到這一點,但您必須手動從構建機器登錄到您的cvs服務器,並保持ssh會話打開,以便hudson/jenkins可以搭載連接。儘管你希望你的CI服務器儘可能地放手,但似乎對我來說毫無意義。