3

使用Hudson(最新版本和最佳版本)安排批處理文件在遠程計算機上運行的最簡單方法是什麼?我正在探索主從設置。我創建了一個愚蠢的奴隸,但我不確定參數應該是什麼,以便我可以觸發遠程奴隸機器中的批處理文件。使用Hudson遠程運行批處理文件

基本上,我試圖在兩臺不同的遠程機器上依次運行2個不同的批處理文件,這些文件是從我的機器(主機)觸發的。哈德森網站上的分步指南是一個死鏈接。在SO上發佈了類似的問題,但是當我使用他們提到的參數時,它並不適合我。 如果有人做過類似的事情,請提出建議。 (我知道如何設置工作,並添加一個步驟,運行批處理文件等我有麻煩配置什麼是內置的功能使用哈德森在遠程機器上這樣做)

UPDATE

謝謝大家的建議。在這個快速更新: 我想要得到什麼做的是部分的工作,下面的步驟跟着去了 -

  1. 創建新的節點從管理節點 - >新節點 - >設置執行人#作爲1,遠程FS根目錄設置爲'/ var/hudson',將啓動方法設置爲使用JNLP,設置slavename並保存。

  2. 一旦設置了從站(從主機),我登錄到從站物理機,我從http://masterserver:port/jnlpJars/slave.jar下載了_slave.jar,並從下載位置的命令行運行以下命令 - > java -jar _slave .jar -jnlpUrl http://masterserver:port/computer/slavename/slave-agent.jnlp。連接已成功完成。

  3. 在主作業配置中選中「限制可以運行此項目的位置」,並將參數設置爲slavename。

  4. 選中「添加生成步驟」將我的批處理作業腳本

  5. 什麼我仍下落不明,現在是從一個工作連接到兩個從順序的方式,這可能嗎?

回答

1

這很簡單直接。讓我們假設你已經有一個奴隸運行。然後,您配置作業,就好像您在本地位於目標框中一樣。 Restrict where this project can be run的設置需要是您想要的節點。這全部用於作業配置。

對於從站配置,請閱讀以下頁面。

  1. Installing Hudson as a Windows service
  2. Distributed builds

在Windows上我喜歡運行從作爲一種服務,讓遠程計算機管理啓動和關閉的奴隸了。唯一的缺點是,每次更新服務器時都需要升級客戶端。只需從服務器獲取新的client.jar,然後升級並將其放在從服務器上。然後重新啓動奴隸,你就完成了。

雖然我是以本地管理員的身份執行安裝,但我仍然使用安裝作爲從服務器的服務選項。然後我用srvany將jar包裝成服務。 Here is a blog關於它。你需要打包的命令,你將從你的Hudson服務器從slave頁面獲得。爲了所有這些工作,你應該設置從屬管理爲jnlp。

如果您的目標計算機上有ssh服務器,則可以使用ssl從屬設置。這些對我來說很有魅力。我和我的unix奴隸一起使用它們。到目前爲止,與Windows服務客戶端相比,使用unix的ssl選項沒有什麼麻煩。

+0

謝謝彼得。你是對的,它比我想象的更平滑。 '限制這個項目可以運行的地方'效果很好。你知道我是否可以從一項工作中配置2個從站,並在其上依次運行? – sjt 2010-10-05 17:27:36

+0

還沒有找到解決方案呢。唯一的方法是在作業中「手動」地打開從本地系統到遠程系統的連接(例如Windows帶有telnet服務器,但需要非交互式telnet客戶端。)最好使用ssh,因爲的安全。如果你使用ssh,你可以使用ssh插件,這會爲你提供前後構建步驟。 http://wiki.hudson-ci.org/display/HUDSON/SSH+plugin – 2010-10-05 17:58:12

1

我曾與從設置一些類似的麻煩,寫了這個blog post - 我是在Linux上運行,而不是Windows,但希望這會有所幫助。

+0

感謝您撰寫您的博客Gareth,它的確有幫助。最終是什麼讓它工作的是'限制這個項目可以運行的地方'的配置。 – sjt 2010-10-05 17:47:55

0

我不知道如何使用內置哈德森功能來完成這項工作 - 但在我的一個項目構建中,我運行一個批處理文件,然後使用PSTools 在遠程服務器上運行作業。我發現PS工具非常易於使用 - 使用正確的參數下載,解壓縮並運行命令,因此選擇使用此工具。