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任务的更多相关文章

  1. 使用Jenkins与Docker持续集成与发布NetCore项目(实操篇)

    使用Jenkins与Docker持续集成与发布NetCore项目(教程一) 原文地址:https://www.cnblogs.com/Jackyye/p/12588182.html 基本环境 该教程的 ...

  2. 持续集成:TestNG中case之间的关系

    持续集成:TestNG中case之间的关系   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq: ...

  3. CI/CD持续集成/持续部署 敏捷开发

    敏捷软件开发(英语:Agile software development),又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力.它 ...

  4. 构建gitlab+Jenkins+harbor+kubernetes的DevOps持续集成持续部署环境

    构建gitlab+Jenkins+harbor+kubernetes的DevOps持续集成持续部署环境 整个环境的结构图. 一.准备工作 gitlab和harbor我是安装在kubernetes集群外 ...

  5. SAP开源的持续集成-持续交付的解决方案

    SAP开源的持续集成/持续交付的解决方案: (1) 一个叫做piper的github项目,包含一个针对Jenkins的共享库和一个方便大家快速搭建CI/CD环境的Docker镜像: (2) 一套SAP ...

  6. 使用 CircleCI 2.0 进行持续集成/持续部署

    使用 CircleCI 2.0 进行持续集成/持续部署 - 简书https://www.jianshu.com/p/36af6af74dfc Signup - CircleCIhttps://circ ...

  7. CI / CD /CD 持续集成 持续交付 持续部署

    CI / CD /CD 持续集成 持续交付 持续部署 CI CD 是啥?干了啥? CI continuous integration 持续集成 CD continuous delivery 持续交付 ...

  8. Jenkins 持续集成持续发布使用搭建基础

    一.环境搭建基础 1.持续集成.持续交付.持续部署概念 ①.集成: 是指软件多人研发的部分软件代码整合交付,以便尽早发现个人开发部分的问题:持续集成:强调开发人员提交了新代码之后,立刻进行构建(单元) ...

  9. [持续交付实践] 开篇:持续集成&持续交付综述

    前言 随着微服务架构与容器虚拟化技术的发展,持续集成与持续交付的概念又重新回到了大家的视野,越来越多的公司开始使用持续集成的系统来解决频繁发布带来的质量问题:使用持续交付的工具来实现代码在不同环境上的 ...

随机推荐

  1. 10.9zuoye

    public class fulei { public fulei() { System.out.println("欢迎使用海尔"); } public String Pinpai ...

  2. 解决Lightmap在PC上与ios和Android上表现不同的问题

    Lightmap在PC上与android和ios的区别以及解决方法 1.  问题描述 相信很多人碰到过Lightmap的一些问题: 烘培好Lightmap之后,在PC上看起来相当给力,而打包成ios或 ...

  3. HttpClient(一)

    package com.cmy.httpClient; import org.apache.commons.httpclient.HttpClient; import org.apache.commo ...

  4. phpStudy3——往数据库中添加数据

    前言: 前边介绍了查询数据库的方法,这里介绍下往数据库中添加数据的方法. 项目需求: 用户在前端页面输入的用户名和手机号码,点击提交后后端判断手机号码是否已经存在.如果不存在,那么插入数据库到数据库, ...

  5. ios 打tag

    修改spec文件的version: git commit -am"version 0.1.1" git push origin master -u git tag 0.1.1 gi ...

  6. centos7.5配置双网卡上网

    一.环境及说明 当初有这个需求,主要是帮一个高校的客户搭建一个大数据集群,使用的是校园网,交换机上一个端口只能连接一部电脑上网,不能通过路由组建子网,确保集群中的服务器有子网ip的同时,也能够通过公网 ...

  7. vsftp上传文件出现553 Could not create file

    没有权限创建文件或是目录,原因是selinux引起的登陆问题. 通过如下命令查看状态: > sestatus -b|grep ftp 设置allow_ftpd_full_access为on. 在 ...

  8. 一个方便的java分页算法

    一个好用的java分页算法,代码如下,只需要分页参数继承Pageable类就可以很方便分页了 package cn.com.base.common.pagination; /** * 分页基类 * * ...

  9. ubuntu下常用操作

    屏幕截图: 可以用ubuntu自带的截图软件:gnome-screenshot. 该工具截图区域并且复制到剪切板命令为  gnome-screenshot -c -a,可以给该命令添加快捷方式,alt ...

  10. linux安装json

    安装Json库 1.下载JsonCpphttp://sourceforge.net/projects/jsoncpp/files/ 2.下载sconshttp://sourceforge.net/pr ...