在Azure DevOps Server的代理服务器安装Python环境

时间:2024-10-18 14:37:56

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

在Azure DevOps Server的代理服务器安装Python环境

安装过程

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

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

在Azure DevOps Server的代理服务器安装Python环境

在Azure DevOps Server的代理服务器安装Python环境

在Azure DevOps Server的代理服务器安装Python环境

系统验证

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

py --version

python –version

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

在Azure DevOps Server的代理服务器安装Python环境

在Azure DevOps Server上运行python脚本

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

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

print("hello, world")

import this

在Azure DevOps Server的代理服务器安装Python环境

糟糕,出现错误!

在Azure DevOps Server的代理服务器安装Python环境

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

Parameter 'toolPath' cannot be null or empty。

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

在Azure DevOps Server的代理服务器安装Python环境

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

在Azure DevOps Server的代理服务器安装Python环境

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

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

--End-