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

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为的安装包:

image

安装

在安装过程中,特别需要注意,请选择自定义安装模式。
因为,在默认安装模式中,Python安装程序不会自动设置环境变量,还会将目录安装在用户目录中,这样的配置,对于服务器端程序来说,显然不行。

image

如果你的服务器可以连接互联网,就勾选全部选项,如果不能,至少要将环境变量的内容勾选上:

image

验证

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

py --version
python --version

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

image

在Azure DevOps Server上运行python脚本

好了,现在可以在Azure DevOps的流水线中运行你的python任务了。
我们在测试过程中,添加了hello代码

print("hello, world")
import this

image

糟糕,出现错误!

image

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

Parameter 'toolPath' cannot be null or empty。

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

image

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

image


(结束)

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

--

原文地址:https://www.cnblogs.com/danzhang/p/11169791.html