基于docker搭建Jenkins+git+python+allure
实现方式
一、创建jenkins容器
1、拉取jenkins镜像
docker pull jenkins/jenkins:latest
2、创建本地目录,后续挂载jenkins的工作目录
mkdir /home/jenkins_home
3、创建jenkins容器
docker run -itd --name=myjenkins -p 1111:8080 -u=root -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /home/jenkins_home:/var/jenkins_home jenkins/jenkins:latest

4、访问jenkins:当前服务器ip:jenkin的映射端口
jenkins入口页显示密码文件为:/var/jenkins_home/secrets/initialAdminPassword,/var/jenkins_home目录我们在宿主机上做了映射,因此可直接在服务器上的/home/jenkins_home/secrets/initialAdminPassword去查看密码
建议先不安装jenkins的默认插件,后续有需要自己安装
设置jenkins的用户
二、本次项目需要的插件安装
git、allure
安装成功
三、创建流水线,关联git仓库地址
Source Code Management:选择Git,首次需要添加git账号
输入git账号密码,添加
输入要拉取的git仓库地址,选择刚刚添加的账号
流水线创建完成之后,可构建一次进行验证,拉取的git代码到容器中的/var/jenkins_home/workspace/,或者容器挂载的宿主机目录下去查看
四、使用Dockfile创建python镜像
1、服务器上创建文件my_lib.txt(文件名称自定义),存放python要安装的依赖包内容
Faker==13.3.2
PyMySQL==0.9.3
PyYAML==5.3
adbutils==0.7.3
allure-pytest==2.8.12
ddt==1.2.2
httprunner==3.0.12
mock==4.0.1
openpyxl==3.0.2
pytest==5.4.2
pytest-html==2.1.1
jsonpath==0.82
requests==2.22.0
requests-toolbelt==0.9.1
2、创建Dockerfile文件
FROM python:3.7.15 MAINTAINER Tester WORKDIR /app ADD my_lib.txt /app RUN pip install -r my_lib.txt -i https://pypi.tuna.tsinghua.edu.cn/simple CMD ["python","pytest_run.py"]
3、执行Dockerfile
docker build -t python:3.7.15 .
出现success表示成功
五、jenkins项目配置:构建执行shell代码,生成python容器
docker run --rm -w=$WORKSPACE --volumes-from=jenkins容器名称 python镜像名称:TAG
docker run --rm -w=$WORKSPACE --volumes-from=myjenkins python:3.7.15
1、找到jenkins上刚刚创建的流水线,configure,选择用shell脚本来构建
六、配置allure报告
tips:Jenkins上需要有jdk环境,才能生成allure报告
Jenkins:Manage Jenkins的Global Tool Configuration,配置jdk和allure
在项目的configure中,Post-build Actions选择Allure Report
七、构建流水线
构建成功,可点击allure报告查看结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)