Python和Azure DevOps Server

Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初主要为系统运维人员编写自动化脚本,在实际应用中,Python已经在前端、后台、测试和大数据分析中广泛使用。

DevOps Server (TFS)作为一个全流程的开发测试运维平台,支持Python语言,当然是必须具备的一个功能。下面介绍如何在DevOps Server中调用和运行Python脚本。

软件下载

由于Azure DevOps Server的流水线运行在代理服务器上,首先需要在你的代理服务器安装Python。

Python 3和Python 2有很大的区别,在安装Python之前,最好与你的运维工程师商量好。下面我们已经Python 3.6.5为例:

软件下载地址:https://www.python.org/downloads/release/python-365/

选择你需要的安装包,我们在这个例子中使用Windows 64为的安装包:

安装过程

在安装过程中,特别需要注意,请选择自定义安装模式。

因为,在默认安装模式中,Python安装程序不会自动设置环境变量,还会将目录安装在用户目录中,这样的配置,对于服务器端程序来说,显然不行。

系统验证

安装完成以后,可以在服务器上,打开命令行创建,运行脚本去验证你的安装是否正确:

py --version

python –version

系统会提示你的python版本号。注意也可以在脚本中使用py这个别名代理python

在Azure DevOps Server上运行python脚本

好了,现在可以在Azure DevOps的流水线中运行你的python任务了。

我们在测试过程中,添加了hello代码

print("hello, world")

import this

糟糕,出现错误!

当我们运行上面定义的python任务时,系统提示下面的错误

Parameter 'toolPath' cannot be null or empty。

分析原因是由于安装Python的过程中,软件自动设置了环境变量,例如在系统环境变量Path中添加了python的路径。而这种变更,TFS的代理程序不能自动获取,必须要通过重启代理,使环境变量生效。下面是重启代理的截图:

重启代理后,再次运行包含了Python脚本的任务,系统提示成功,如下图:

好了,现在开始,运维工程师们,你可以在Azure DevOps上尽情享受自己熟悉的Python脚本了。

微软DevOps MVP 张洪君 http://www.cnblogs.com/danzhang

--End-

在Azure DevOps Server的代理服务器安装Python环境的更多相关文章

  1. 在macOS苹果电脑上安装Azure DevOps Server(TFS)代理

    1. 概述 MacOS是一套运行于苹果Macintosh系列电脑上的操作系统,是首个在商用领域成功的图形用户界面操作系统.Iphone应用软件的开发人员,都使用运行macOS的电脑或mini盒子进行软 ...

  2. 在Azure DevOps Server (TFS)的流水线中编译和测试Xcode移动应用(iPhone)

    概述 Xcode是开发基于苹果macOS系统的桌面应用和移动应用的主要IDE工具.使用Azure DevOps Server (原名TFS)系统中的pipelines流水线功能,可以方便的集成Xcod ...

  3. 在Azure DevOps Server(TFS)上集成Python环境,实现持续集成和发布

    Python和Azure DevOps Server Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初主要为系统运维人员编写自动化脚本,在实际应用中,Python已经在前端 ...

  4. 在Azure DevOps Server (TFS 2019) 流水线传递参数

    变量概述 在Azure DevOps Server的流水线中,变量是衔接不同任务和不通代理之间的桥梁,它可以使相对松散.各自独立的任务之间相关影响并共享数据.在流水线中使用变量,可以在各任务之间相互调 ...

  5. 在Azure DevOps Server中运行基于Spring Boot和Consul的微服务项目单元测试

    1 概述 谈到微服务架构体系,绕不开服务发现这个功能.服务发现机制是简化微服务配置.实现容灾.水平扩缩容.提高运维效率的重要方式.在服务发现工具中,Consul在部署和使用方面与容器结合的天衣无缝,成 ...

  6. 在Azure DevOps Server 中提交Maven 依赖包(mvn deploy-file)

    Contents 1. 概述 2. 必要准备 安装Java 下载安装Maven 3. 服务器配置 新建连接源 4. 客户端配置 5. 上传maven包文件 6. 常见问题 Maven最新版本3.6.2 ...

  7. 为Azure DevOps Server (TFS) 配置安全访问(HTTPS with SSL)

    Contents 1. 概述 2. HTTP和HTTS比较 支持HTTP和HTTPS两种方式 要求所有连接使用HTTPS 优点: 缺点: 3. 为Azure DevOps Server 配置安全访问 ...

  8. 微软 Azure DevOps Server 2019 Update 1 (TFS 2019.1)

    1.概述 微软在2019年5月发布Azure DevOps Server 2019后不到2个月的时间里,就快速准备好了第一个升级包(2019 Update 1),并计划在几周后发布正式版本.也许你还没 ...

  9. 在Azure DevOps Server (TFS)中实现VUE项目的自动打包

    概述 Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.由于它在数据绑定.页面展示和使用简单方面有很大的优势,逐渐被越来越多的前端开发团队使用.本文 ...

随机推荐

  1. 修改java在进程中的映像名

    java小程序用java -jar xxx.jar  启动的进程映像名都是java.exe. 如果启动多个小程序就不好区分,导致监控程序无法定位到具体需要守护的小程序上. 解决办法: 在java安装目 ...

  2. linux面试题-基础题1

    第1章 基础题1 1.1 在装系统创建Linux分区时,一般至少需要创建两个分区( ) A.FAT.NTFS   B. /usr.swap    C. /boot.swap  D.swap./ 1.2 ...

  3. 阿里云RDS读写分离数据查询延迟解决

    mysql使用RDS做数据主从读写分离.在使用的过程中发现部分业务对其他服务以来严重.但是由于系统不是采用微服务的架构,造成部分数据插入数据库后,后续操作读取数据库没有查询到前面插入的数据.查看阿里云 ...

  4. mybatis sql参考

    参考mybatis sql: <select id="xxx" resultType="com.xxxx.xxx.vo.xx.xx" parameterT ...

  5. Linux shell : 管道 |

    概念 意义 理解 用法 返回值 PIPESTATUS An array variable (see Arrays) containing a list of exit status values fr ...

  6. 详解vue组件的is特性:限制元素&动态组件

    在vue.js组件教程的一开始提及到了is特性 意思就是有些元素,比如 ul 里面只能直接包含 li元素,像这样: <ul> <li></li> </ul&g ...

  7. SpringBoot +Pom.xml工程资源文件配置

    继承spring-boot-starter-parent 要成为一个spring boot项目,首先就必须在pom.xml中继承spring-boot-starter-parent,同时指定其版本 & ...

  8. jquery中的callbacks之我见

    callbacks是jquery的核心之一. 语法如下: jQuery.Callbacks( flags )   flags 类型: String 一个用空格标记分隔的标志可选列表,用来改变回调列表中 ...

  9. 初学c# -- c#创建开机自启服调用外部交互式exe文件

    在c#创建的开机自启动服务里,调用外部可执行文件有以下问题:1.带窗口的交互式的exe文件调用后,实际并没有被执行:2.服务是随windows启动的,服务启动后可能windows桌面还没出来,会报错误 ...

  10. Curl 基本命令

    下载单个文件,默认将输出打印到标准输出中(STDOUT)中 curl http://www.centos.org 通过-o/-O选项保存下载的文件到指定的文件中:-o:将文件保存为命令行中指定的文件名 ...