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. maven向本地库添加jar包

    mvn install:install-file -DgroupId=com.lowagie -DartifactId=itextasian -Dversion=1.0 -Dpackaging=jar ...

  2. Sorting(好题)

    Sorting https://www.zhixincode.com/contest/21/problem/I?problem_id=324 题目描述 你有一个数列a_1, a_2, \dots, a ...

  3. python之用户登陆作业

    实现一个用户登陆的小程序,如果密码错误,可以重试三次,如果三次均错误,则锁定 数据库如下格式,分别用户名|密码|锁定,其中锁定字段0为正常,1为被锁定 root|admin123|0 admin|ad ...

  4. 二叉树的层次遍历 · Binary Tree Level Order Traversal

    [抄题]: 给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问) [思维问题]: [一句话思路]: 用queue存每一层 [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况 ...

  5. beego启动找不到conf的原因

    beego配置文件路径如下: app.conf内容 httpaddr = "192.168.199.178" httpport = appname = SecProxy runmo ...

  6. 如何看待阿里 AI 每秒制作 8000 张海报?

    看了其他设计老师们的回答,给了我一些启发,于是更新一波. 设计本质上是产品和服务的一部分,如果只站在设计师角度看这问题,免不了会有一种被取代的危机感. 来源:千锋UI ​但如果站在整个产品和服务的角度 ...

  7. Laravel5.5 使用队列 Queue

    使用队列# 上一章节中我们开发了自动生成 Slug 功能,但是因为我们的需要实时请求百度翻译接口,这将会是一个系统性能隐患. 一般情况下,网络请求会存在各种不确定性,如果请求 API 出现超时情况,或 ...

  8. Java数据结构和算法(二)树的基本操作

    Java数据结构和算法(二)树的基本操作 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 一.树的遍历 二叉树遍历分为:前序遍 ...

  9. 用户体验要好,App动画得这么做

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具.   在用户体验设计方面,App动画的设计和添加,带给设计师无限的创造空间的同时,也成为设计师群体最具 ...

  10. msys2 设置home路径为windows用户路径

    1配置/etc/nsswitch.conf db_home: windows 2(可不配)增加windows环境变量HOME为%USERPROFILE% 3(可不配)ssh默认仍使用msys中的hom ...