一、在服务器上安装docker
安装方式参考:https://www.cnblogs.com/hq0202/p/16255129.html
二、创建Jenkins容器,并配置Jenkins
1、创建jenkins容器
命令:docker run -dit --name=myjenkins -p 3333:8080 -u=root -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker jenkins/jenkins:lts
参数说明:
-d #以守护式创建容器,创建后容器在后台运行
-i #运行容器
-t #启动容器后进入对应的命令行
--name #指定容器名称
-p 3333:8080 #端口映射,宿主机端口(自己任意指定):jenkins容器端口(默认8080)
-u=root #指定root用户
-v #目录映射
-v /var/run/docker.sock:/var/run/docker.sock #将docker.sock映射到docker的容器中
-v /usr/bin/docker:/usr/bin/docker #将宿主机docker客户端映射到 jenkins 容器中
jenkins/jenkins:lts #jenkins镜像
作用:
docker.sock 是用来将docker的服务端和客户端进行通讯的文件
Linux 目录
docker -->容器 目录
将Linux宿主机的目录共享到docker容器目录,共享后,当修改任意一个目录,另一个也会同步修改
2、执行命令,出现如下图id表示创建成功
3、浏览器访问 http://服务器ip地址:端口,进入页面,如下图
4、获取管理员密码,执行命令:docker logs jenkins容器名称
5、进入后,选择第二个,选择插件安装,如图
6、取消默认勾选的插件,这里选择无即可
7、设置管理员用户名和密码(任意设置,自己记住就行)
8、配置实例,默认就行,完成后,即可使用!!!
三、安装Jenkins插件
1、进入jenkins,点击Manage Jenkins
2、点 Manage Plugins 安装插件
3、安装git插件
4、安装docker插件
5、安装HTML插件
6、所有插件安装完成后,重启Jenkins容器
命令:docker restart 容器名称
四、创建并配置Jenkins任务
1、新建任务,创建自由风格的任务
2、配置构建记录(按需配置)
3、git仓库配置
4、配置运行脚本
docker run --rm -w=$WORKSPACE --volumes-from=hqjenkins python3:fish
参数说明:
--rm : 自动删除容器
-w=$WORKSPACE:指定workspace
--volumes-from=hqjenkins :将jenkins容器中的workspace映射到python容器中,此时jenkins中git拉下来的代码就会被映射进去
5、配置 jenkins 中展示的测试报告路径
6、配置完成后,保存即可!!!
五、构建有项目执行环境的 python 镜像
1、在宿主机(安装有docker)上新建一个目录(/app),目录任意命名
2、在新建的app目录下,新建requirements.txt 文件,文件名称可任意命名,然后将项目的依赖包添加到requirements.txt 文件中
3、在app目录下创建Dockerfile 文件(文件名必须是 Dockerfile,没有后缀)
requirements.txt 文件内容如下
ddt==1.4.4
Faker==13.3.2
jsonpath==0.82
openpyxl==3.0.9
PyMySQL==1.0.2
requests==2.24.0
unittestreport==1.4.0
Dockerfile 文件内容如下:
FROM python:3.9-alpine
WORKDIR /app
ADD ./page.txt /app
RUN pip install -r page.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
CMD ["python","run.py"]
4、在 app 目录下构建镜像
docker build -t python3:fish .
-t:镜像名称
点号(.):点表示 Dockerfile 文件所在的目录,点表示当前目录,即当前在app目录执行
5、构建完成后,会得到带有项目环境的python镜像
六、修改测试报告样式
1、点击Manage Jenkins
2、选择Script Console
3、执行脚本
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")
4、结果为空,表示执行成功!!!
七、构建任务,查看测试报告
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通