原本佈署的工作得在兩個server間用putty換來換去的
今天閒來無事就想說用ant一次解決好了
果然,ant沒讓人失望!
第一步:
[quote]自Ant1.60開始支持了SSH 及SCP 操作了,早在Ant之前若要支持SSH、SCP、SFTP等任務就必須下載j2ssh的j2ssh-ant.jar和j2ssh-core.jar(在http://www.sourceforge.net的j2ssh下有下載)。
現在可以使用Ant提供的Sshexec和scp任務,由$ANT_HOME/lib/ant-jsch.jar提供支持,但是同樣你也要在[url]http://www.jcraft.com/jsch/index.html[/url]下載一個依賴包jsch-0.1.24.jar(文件名因版本而不同),jsch同樣也是http://www.sourceforge.net下的一個項目。
你需要把下載的jsch-0.1.24拷貝到$ANT_HOME/lib下,如果是Eclipse下的Ant環境必須在[b]Window->Preferences->Ant->Runtime->Classpath[/b]中加入jsch-0.1.24。[/quote]
第二步:
[quote]
注意上面的trust屬性一般設置為true, 如果為默認值false時,那麼就要求你所連接的host必須存在於你的knownhosts文件中,並且這個文件也必須是存在的,否則會出現 com.jcraft.jsch.JSchException: reject HostKey: 192.168.122.180異常。
[b]執行Linux下的命令時可以用分號";"把多個命令隔開[/b],它們將會依次執行,而不需要寫多個sshexec進行多次連接,每次連接只執行一個命令。[/quote]
官方的說明:[url]http://ant.apache.org/manual/OptionalTasks/sshexec.html[/url]
有一點很奇怪,就是我在呼叫remote的ant時都會找不到,最後只好使用絕對路徑。
今天閒來無事就想說用ant一次解決好了
果然,ant沒讓人失望!
第一步:
[quote]自Ant1.60開始支持了SSH 及SCP 操作了,早在Ant之前若要支持SSH、SCP、SFTP等任務就必須下載j2ssh的j2ssh-ant.jar和j2ssh-core.jar(在http://www.sourceforge.net的j2ssh下有下載)。
現在可以使用Ant提供的Sshexec和scp任務,由$ANT_HOME/lib/ant-jsch.jar提供支持,但是同樣你也要在[url]http://www.jcraft.com/jsch/index.html[/url]下載一個依賴包jsch-0.1.24.jar(文件名因版本而不同),jsch同樣也是http://www.sourceforge.net下的一個項目。
你需要把下載的jsch-0.1.24拷貝到$ANT_HOME/lib下,如果是Eclipse下的Ant環境必須在[b]Window->Preferences->Ant->Runtime->Classpath[/b]中加入jsch-0.1.24。[/quote]
第二步:
[quote]
<target name="sshexec">
<sshexec host="192.168.122.180" username="root" password="123456"
trust="true" command="cd /;ls"/>
</target>
注意上面的trust屬性一般設置為true, 如果為默認值false時,那麼就要求你所連接的host必須存在於你的knownhosts文件中,並且這個文件也必須是存在的,否則會出現 com.jcraft.jsch.JSchException: reject HostKey: 192.168.122.180異常。
[b]執行Linux下的命令時可以用分號";"把多個命令隔開[/b],它們將會依次執行,而不需要寫多個sshexec進行多次連接,每次連接只執行一個命令。[/quote]
官方的說明:[url]http://ant.apache.org/manual/OptionalTasks/sshexec.html[/url]
有一點很奇怪,就是我在呼叫remote的ant時都會找不到,最後只好使用絕對路徑。