目录
一、实现思路
1、在 Linux 服务器安装 docker 2、创建 jenkins 容器,拉取git上的自动化框架代码,送给python容器执行 3、根据自动化项目依赖包构建 python 镜像(构建自动化 python 环境) 4、运行新的 python 容器,执行 jenkins 从仓库中拉下来的自动化项目 5、执行完成之后删除容器(容器会占空间,所以要释放空间)
二、环境准备
1、在liunx上安装docker
2、docker安装jenkins
进入dockerhub拉取镜像
之后在已经安装好docker的liunx机器上执行该命令
我这里是拉取最后一个版本
docker pull jenkins/jenkins:lts
安装完成后查看镜像docker images,就可以看到刚刚拉取的镜像
3、使用刚刚拉取的镜像,启动jenkins容器
docker run -dit --name=jenkins-lem -p 1111:8080 -u=root -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker jenkins/jenkins:lts
参数说明
-i:表示运行容器
-t:表示容器启动后会进入其命令行
-d:守护式方式创建容器在后台运行
--name:容器名称
-p 9999:8080:端口映射,宿主机端口:jenkins 容器端口
-u=root:指定容器用户为 root 用户
-v /var/run/docker.sock:/var/run/docker.sock:将 docker.sock 映射到 jenkins 容器中(共享目录)
docker.sock 文件是 docker client 与 docker daemon 通讯的文件
-v /usr/bin/docker:/usr/bin/docker:将宿主机 docker 客户端映射到 jenkins 容器中
4、查看启动的jenkins容器
docker ps
三、访问前设置
1、关闭防火墙
请参考第三小节:mac(Intel)+VMware虚拟机搭建_文小大的博客-CSDN博客
2、查看IP地址
ifconfig
四、配置jenkins容器
1、宿主浏览器jenkins
访问http://刚刚查到的IP地址:1111
2、获取密码:
1、从容器的log中查看
docker logs 容器名称
2、进入docker中,在页面提示的路径中查看
3、登录成功后,进入jenkins
这一步会比较慢,请耐心等待。
4、设置管理员用户名和密码(以后就用这个账号密码登陆你的 jenkins)
5、jenkins 初始化完成看到如下界面
五、 jenkins插件安装
接上一步开始使用jenkins,进入到如下界面。注,安装过过程中出现失败,就找到失败的插件重新安装一下就可以了。
1、安装git
2、安装docker
3、html Publisher安装
4、 pipeline安装(这里暂时用不到,可以先安装)
5、安装后重启jenkins容器
docker restart jenkins-lem
六、创建jenkins任务
1、重新登录jenkins,点击new item
2、创建项目
3、配置构建记录保存规则
4、配置git仓库
远程仓库地址要去gitee上去复制链接
5、添加git凭证
6、配置完成点击保存即可
七、配置及构建
1、将项目的依赖包导出到 requirements.txt 文件中,txt 文件名称可以随意写
pip freeze > requirements.txt
我的文件内容如下
unittestreport==1.3.2
openpyxl==3.0.7
ddt==1.4.2
pytest==6.2.2
selenium==3.141.0
pymysql==1.0.2
faker==8.1.0
jsonpath==0.82
BeautifulReport==0.1.3
rsa==4.7.2
pytest-html==3.1.1
allure-pytest==2.9.43
requests-toolbelt==0.9.1
2、在宿主机(安装 docker 的机子)上新建一个目录(我的目录在/app),将 requirements.txt 中的文件复制进去
mkdir /app
vim /app/requirements.txt
创建好之后查看一下,cat vim /app/requirements.txt
3、在app 目录下创建 Dockerfile 文件(文件名必须是 Dockerfile,没有后缀)
touch /app/Dockerfile
编辑Dockerfile: vim Dockerfile
Dockerfile文件详解:Dockerfile文件解释_文小大的博客-CSDN博客
FROM python:3.7.4
MAINTAINER annlin
WORKDIR /app
ADD ./requirements.txt /app
RUN pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
CMD ["python3", "start_all.py"]
4、在 app 目录下执行镜像构建命令
docker build -t python3.7:annlin .
-t:镜像名称
python3.7:annlin # 这个是自己取的名字
点(.):点表示 Dockerfile 文件所在的目录,我现在在 app 目录下,点表示当前目录
6、配置jenkins项目中的构建命令
7、将下列命令输入Commend框中
echo "运行容器python执行自动化"
docker run --rm -w=$WORKSPACE --volumes-from=这里是步骤2.3.3中的jenkins镜像的名称 这里写7.4步骤中取的镜像名称
echo "python执行自动化执行成功"
8、配置测试报告
配置好之后点击保存
9、构建 jenkins 任务
10、查看构建日志
11、查看测试报告,此时的测试报告会没有样式,因为被 Jenkins 禁用了 CSS 样式,需要我们手动解决
12、解决测试报告没有样式的问题
把这个代码放进去执行:System.setProperty("
hudson.model.DirectoryBrowserSupport.CSP","")
执行成功返回是空,说明没问题
重新构建就可以看到漂亮的测试报告了
升级7.7步骤
1、在项目中创建run.sh文件,将原本7.7中的内容复制进去。
2、修改后push到远程仓库
3、将7.7中的内容改成sh run.sh,修改完成后保存
4、构建也是可以成功的,这个方式是将代码文件都放在项目中,避免在jenkins配置中写代码