# Windows server上安装Jenkins,并执行python脚本记录,以及一些帮助

5 min read
Table of Contents

环境:Windows Server 2019
1.去Jenkins官网下载安装包
2.安装完成后弹出网页(刚装完后网页可能显示40x,多等待一会感觉像是启动服务比较慢,正常的是等待一会后可以打开网页)
3.打开网页后,提示安装插件,选择推荐配置安装就可以
4.等待安装插件(安装一堆插件耗时极长,winserver上等了一共3个多小时才把插件安装完)
5.安装插件后提示输入账号和密码(账号区分大小写)
6.提示新建一个item,选择自由风格即可(这时应该还没安装python插件,所以这个item可以随便建)
7.配置好项目后进入Jenkins首页,点击选项-管理插件,搜索python,安装python插件(安装等待时记得勾选“安装后重启”)
8.安装好插件并重启Jenkins后,再新建一个item,构建框内选择Execute Python script,在框内可以输入代码,如print(“hello world”),其他选项先不用管
9.点击构建
ps:可能会报错:jenkins java.io.IOException: CreateProcess error=2, 系统找不到指定的文件,如果出现这个错误,建议检查插件是否有安装全,如果有安装失败的插件,则多试几次,有很多插件会在安装中显示失败,多试几次直到插件更新选项中没有可更新内容,且要在电脑中事先装好python以及jdk。


💬 回复: Jun (2020-02-16)

jenkins构建中参数说明:
https://www.jianshu.com/p/5f671aca2b5a


💬 回复: Jun (2020-02-18)

在jenkins上的脚本中,如果有访问到远程资源,例如\192.168.1.xxx\yy这种共享目录,可能会没有权限,
比如使用python的glob模糊读取\192.168.1.xxx\yy*目录下的文件,可能返回的是空列表,
出现这种情况可以设置jenkins使用管理员账户来执行脚本:
教程连接:
https://blog.csdn.net/weixin_30265171/article/details/98203193


💬 回复: Jun (2020-02-18)

在jenkins那台电脑上添加新的环境变量后,如果jenkins需要使用新环境变量,需要重启jenkins,
jenkins相关操作:
一种是cmd命令,一种是浏览器url
一,cmd命令方式
1.以管理员身份运行cmd.exe
2.进入到jenkins安装目录
cd C:\Program Files (x86)\Jenkins
3.停止服务:jenkins.exe stop
2019-05-05 22:31:21 ,203 INFO - Stopping the service with id ‘Jenkins’
4.启动服务:jenkins .exe start
2019-05-05 22:32:09 ,753 INFO - Starting the service with id ‘Jenkins’
5.重启服务:jenkins.exe restart
2019-05-05 22:33:16 ,510 INFO - Restarting the service with id ‘Jenkins’
二,一种是浏览器url
1.关闭jenkins服务
http://localhost:8080/exit 网址就能关闭jenkins服务。
2.重新启动jenkins服务器
http://localhost:8080/restart 网址就能重启jenkins服务。
3. 重新加载配置信息
http://localhost:8080/reload 网址就能重新加载配置信息。


💬 回复: Jun (2020-02-19)

jenkins里使用python脚本时,
如果在python脚本里使用了os.system(“cmd”),或使用了subprocess.run(“cmd”),
那么在jenkins执行脚本的时候,貌似会优先执行这些命令,
例如:

print("111")
print(os.system("echo 222"))

在jenkins上输出结果为:

222
111

出现这种情况,可以使用:

cmd = subprocess.Popen("cmd", stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = cmd.communicate()
# 获取返回状态码,0是正常,1是出现错误
cmd.returncode
# 获取输出结果或错误,下面的gbk可以不填,不填就是utf-8了,如果文件开头是gbk,那么在括号内一定要填gbk
print(stdout.decode("gbk"))
print(stderr.decode("gbk"))

💬 回复: Jun (2020-02-19)

在jenkins上执行python脚本,如果需要显示实时输出,可以用:

python -u xxx.py

Comments