在使用Jenkins做自动发布的时候用到了Python脚本,有两种方式:
因为Jenkins上安装的Python插件不知道对应Python的什么版本,这里选择了第二种方式,即在Jenkins服务器上安装Python。
中间也是各种折腾,遇到了几个问题:
这里不着急解释这些问题是如何解决的。因为都是姿势不对导致的。这里说一下正确的姿势。
这里用到的软件版本:
名称 | 版本 |
---|---|
系统 | Windows Server 2012 R2 Datacenter |
Jenkins | 2.204.1(Manage Jenkins下的关于Jenkins可查版本) |
Python | python-3.8.1 32位( 官方各版本下载地址 ) |
pip | 19.2.3(安装python时选中一起安装的) |
接下来要注意的事项:
如果上面的步骤提示找不到某些依赖,把python下的Script也加入到环境变量,然后通过命令行安装对应的依赖包, pip install package_name
或 pip3 install package_name
;
注意:如果使用默认的包源,安装会比较慢(服务器在国外);这里可以永久更换pip的包源。操作步骤如下:
%appdata%
后回车,进入的路径类似“C:UsersUserNameAppDataRoaming”; 新建文件“pip.ini”并编辑,内容如下:
[global] timeout = 6000 index-url = http://mirrors.aliyun.com/pypi/simple/ trusted-host = mirrors.aliyun.com
以上的步骤都正常了,就可以在Jenkins上执行CMD命令了,这里需要注意的是无论是python还是脚本都要使用全路径,或者先定位到脚本所在的目录下;如
python的安装路径为“C:WorkAppsPythonPython38-32”
脚本路径为“E:jenkins_pythonwait_run.py”
C:/WorkApps/Python/Python38-32/python.exe E:/jenkins_python/wait_run.py
E: && cd E:/jenkins_python/wait_run.py && C:/WorkApps/Python/Python38-32/python.exe wait_run.py
至此,Jenkins上配置的python脚本就可以顺利进行了。
如果遇到问题,可以先拆分以便排查,节约验证的等待时间。比如上面的Jenkins不识别python,可以把CMD命令配置为“python --version”,发现是路径问题,改为“C:WorkAppsPythonPython38-32python.exe --version”,再执行发现可以正常运行了,再继续验证后面的问题。
我的思路就是万不可被问题围殴,而是将其拆分,使其排成一列纵队,然后再如打怪通关,一关一关过(前提是大方向要先定下来,不然不辞劳苦的通关了,发现终点不是自己要的结果就尴尬了)。