標籤:時間 指定 通訊協議 nbsp min 任務 blog 技術分享 管理
Telnet是一種在網際網路或區域網路上使用虛擬終端串連,提供雙向互動式文本通訊裝置的協議。
它是最早的互連網通訊協議之一。自1969年啟用以來,已經經過了將近50年時間,在開放式的作業系統中擁有廣泛的使用者。
雖然由於其安全性的弊端,已經逐漸被淘汰,但是在許多AIX系統的伺服器上,營運人員都習慣使用Telnet作為自己的主要工具,維護伺服器系統。TFS系統作為應用軟體生命週期管理(ALM)平台的產品,原生提供SSH工具串連Linux系統,可惜沒有提供Telnet的工具,這裡我介紹如何使用Ant中的Telnet工具,實現在持續整合和發布串連Telnet伺服器。
一、必要軟體
- Visual Studio Team Foundation Server 2017 +
- Ant 1.9 +
- Telnet task: https://ant.apache.org/manual/Tasks/telnet.html
將包含這個功能的依賴包(commons-net-3.6.jar)複製到Ant的lib檔案夾中,例如我的路徑是:D:\apache-ant-1.9.5-bin\apache-ant-1.9.5\lib
- Java 1.8 +
- Aix Telnet Server (or telnet server on other server)
二、編寫包含Telnet任務的Ant指令碼
是一個最簡單的Ant指令碼,其中只包含了一個Telnet任務,在伺服器上建立一個檔案夾
<project name="project" basedir="." default="telnet"> <target name="telnet"> <telnet userid="admin" password="P2ssw0rd" server="192.168.20.7"> <read>/home/bob</read> <write>dir</write> <read string="/home/bob"/> <write>mkdir FolderCreatedByTelnetTask</write> </telnet> </target> </project>
|
注意:Telnet任務只提供兩個工具“read“和”writer”,這個兩個工具的功能如下:
- read:讀取Telnet伺服器返回的字元資訊,以便執行後面write中的命令;如果沒有讀取到正確的字元,後面的命令就不會執行。例如Aix伺服器上的Telnet伺服器總是返回#,那麼我在每條指令前面,就輸入 <read>#</read>
- write:將標籤中的字元作為指令的方式發送的Telnet伺服器
三、在TFS持續整合/發布中增加Ant任務
(微軟ALM MVP 張洪君 http://www.cnblogs.com/danzhang )
在持續整合或者持續發布過程中,新增一個Ant任務,指定上面編寫的Ant指令碼,TFS系統就會自動連接Telnet伺服器,執行你編寫的命令,如:
(完)
在TFS持續整合(持續發布)中執行Telnet任務