2010-09-15 73 views
0

如何將文件從一臺Windows機器複製到其他Windows機器?這樣我就可以編寫一個批處理腳本,可以從哈德遜機器運行該腳本。 我的要求是,我喜歡通過位於另一臺Windows機器上的Hudson(戰爭將在本機中產生的戰爭)在另一臺Windows機器上遠程部署warcat服務器。僅供參考,兩個窗口都在同一個網絡或Intranet上。對於Linux部署,我們正在使用plink。 Windows部署有沒有其他選擇?如何將文件從一臺Windows機器複製到其他Windows機器?

在此先感謝

+4

'copy sourcefile targetfile'?我認爲您需要更具體地瞭解這些Windows機器是如何連接到彼此的,無論網絡共享是否存在等。 – 2010-09-15 18:26:49

回答

0

取決於您實際上想要做什麼以及安全要求是什麼。有幾個選項。最簡單的方法是對遠程計算機\\hostname\sharename\directory\actual.file使用帶有UNC路徑的複製命令。重要的是,遠程計算機具有已定義的共享並允許用戶哈德森在其下運行的寫入訪問權限(文件和共享級別)。這也意味着你不能在local_system帳戶下運行hudson。 (默認選項,如果你運行哈德森作爲服務)

其實我寧願robocopy超過copy。我認爲微軟免費提供robocopy。研究robocopy的文檔(幫助),這是一個管理員應該知道他們在做什麼的程序。 Robocopy不僅強大,如果使用了錯誤的開關,它還可能「無意中」刪除文件。

其他選項包括SCP和FTP,Master/Slave配置,其中從設備使用http/https協議從Hudson下載工件。

編輯:從vishu

感謝您的及時響應

評論。由於 你的答案解釋說你在哈德森有很好的知識,我會 喜歡給我詳細的要求。 我的要求是,我喜歡在部署Tomcat服務器 戰遠程 位於另一臺Windows計算機通過 哈德森(戰爭將在這個 機上生成),位於另一個 Windows機器。僅供參考,兩個窗口在同一網絡或內部網上都是 。一個 更多事情要Linux部署我們是 使用plink。 Windows部署有沒有替代 ?

我通常部署到Websphere Application Server。所以我需要閱讀一點how to deploy to tomcat。它看起來像你只需要將wat文件放到正確的目錄中,然後完成或更改當前由tomcat使用的配置文件,並且它會自動將其選中(只要所有配置都正確)。

由於部署場景和設置非常簡單,我會考慮兩個選項。我的首選是在目標Windows機器上安裝一個ssh服務,並重用你已有的plink腳本(用於這個或其他項目)。這個想法是堅持一種技術。另一種選擇是使用Windows共享。在這種情況下,確保Hudson使用「真實」帳戶,以便Hudson不明確需要映射共享(可以是腳本,但密碼可能未加密存儲)。使用Hudson的寫入權限在目標系統上創建共享。比其餘的只是一個副本。對於副本,你應該看看robocopy,因爲它比複製命令要好得多。我在這裏假設的是構建工作進行部署。

如果您有兩個工作,第一個創建工件,另一個工件部署工件。我目前更喜歡使用wget從job1中檢索工件。這意味着job1存檔它的工件。第二個作業從第一個作品中獲取工件(使用wget和job1的運行URL)。在這種情況下,您可以在目標計算機上運行Hudson從站,並且可以在本地進行部署。您可以使用Windows和Linux的類似腳本。你可以用cygwin獲得wget窗口(至少我認爲是這樣)。使用cygwin,你甚至可以在windows上使用你的linux腳本。優點是,您不需要共享並且不需要單獨的工件存儲庫。如果將slave作爲服務運行,則甚至不需要在目標機器上安裝ssh服務器。

如果您手動觸發部署,則可以使用batch task plugin。它實際上只是一項工作,您不必擔心在工作之間移動工件。缺點是,您只能從最近的作業運行中進行部署,因爲它取決於作業的工作空間。無法部署舊版本(如果您的項目現在已經中斷,或者因爲應用程序中存在重大錯誤而需要降級)。

如果您已經有工件存儲庫,請使用主從設置並從目標機器檢查存儲庫中的工件。

我可以想出更多的選擇,這將變得越來越深奧。最後,你必須決定你最喜歡什麼,什麼是最容易實現和維護,以及滿足其他(次要)要求(例如某些安全限制)。

+0

感謝您的及時響應。由於你的答案解釋說你在哈德森有很好的知識,我想詳細說明我的要求。我的要求是,我喜歡通過位於另一臺Windows機器上的Hudson(戰爭將在本機中生成)在另一臺Windows機器上遠程部署warcat服務器。僅供參考,兩個窗口都在同一個網絡或Intranet上。對於Linux部署,我們正在使用plink。 Windows部署有沒有其他選擇? – vishu 2010-09-15 21:38:02

-3

這可能是使用Linux終端以下命令行:

scp -3 [email protected]:path/from/directory/ [email protected]:path/to/directory 

會顯示一個提示,要求這樣的密碼:

[email protected]'s password: [email protected]'s password: 

如果按給這兩個密碼才能進入在第一個密碼後,它應該接受,但它不會。 即使您再次輸入密碼,但在第一次輸入密碼後沒有按下輸入密碼,也不會再接受。

您必須先給user2,然後按回車鍵,然後輸入user1的密碼,然後按Enter鍵。這將工作。

我知道這聽起來不對,但只有這樣才行。這是Linux終端shell中的一個錯誤。

+0

我認爲這不適用這個問題,因爲OP要求在Windows機器上這樣做,而不是在Linux上。 – 2016-01-01 13:00:39

+0

順便說一句,沒有「Linux終端外殼」這樣的東西。你可以在終端中運行很多不同的shell。例如,終端可能是:文本控制檯或在X內運行的終端仿真程序。無論何時,這是'scp'中的一個錯誤,因爲這是連接到終端的唯一進程。 – 2016-01-01 13:28:55

+0

感謝Martin分享,非常感謝。 – 2016-01-05 05:03:45

相關問題