在TFS持续集成(持续发布)中执行Telnet任务

时间:2021-07-17 05:04:43

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/zhanghongjun

在持续集成或者持续发布过程中,新增一个Ant任务,指定上面编写的Ant脚本,TFS系统就会自动连接Telnet服务器,执行你编写的命令,如下图:

在TFS持续集成(持续发布)中执行Telnet任务

(完)