Docker+Jenkins集成接口自动化测试
2021-03-25 本文已影响0人
renyjenny
环境:CentOS 7.6
一、安装docker
1、下载安装
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
sed -i 's#download.docker.com#mirrors.ustc.edu.cn/docker-ce#g' /etc/yum.repos.d/docker-ce.repo
yum install docker-ce -y
systemctl daemon-reload
# 开启自启
systemctl enable docker.service
systemctl restart docker.service
2、配置镜像加速
# 创建并编辑文件
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://hub.daocloud.io"]
}
# 重启服务
systemctl daemon-reload
systemctl restart docker.service
3、查看信息
docker version
二、部署jenkins
1、搜索镜像docker search jenkins
选择第二个镜像
2、下载镜像并查看
docker pull jenkins/jenkins
docker images
3、创建并启动容器
docker run -d --name jenkins -uroot -p 9090:8080 -v /var/jenkins_home:/var/jenkins_home jenkins/jenkins
- -d 后台运行
- --name 自定义容器名称
- -uroot 使用root身份进入容器
- -p 端口映射。9090是宿主机的端口号,8080是容器的端口
- -v 将jenkins容器的jenkins_home映射到宿主机目录中,数据持久化
查看启动的容器docker ps
docker ps
三、安装python环境
1、进入jenkins容器docker exec -it jenkins bash
2、安装python3、pip3、venv
apt update
apt install python3
apt install python3-pip
apt install python3-venv
# 验证
python3
pip3
python3
四、Jenkins初始化
1、浏览器输入IP:9090进行访问。(之前启动容器时,有设置端口为9090)
image.png
初次访问时需要输入密码,从提示目录的文件中获取
如果网页打不开,看看是不是防火墙没关。
# centos
# 查看防火墙状态
firewall-cmd --state
# 停止
systemctl stop firewalld.service
# 禁止开机启动
systemctl disable firewalld.service
2、插件一般选择推荐安装
image.png
3、创建管理员账号
image.png
五、项目集成
1、安装必需插件
系统管理-管理插件-点击可选插件,输入allure、钉钉,勾选后点击直接安装
image.png
2、全局配置
系统管理-全局工具配置
新增Allure
image.png
3、新建任务
这里选择了freestyle project
image.png
4、源码管理
注意指定分支,默认是master,我这里是main
image.png
5、构建配置
因为是用的linux,所以选测执行shell
脚本内容
# 创建一个名为 venv 的虚拟环境
python3 -m venv venv
# 使用这个虚拟环境
source venv/bin/activate
# 安装脚本依赖库
pip3 install -r requirements.txt
# 运行 测试
pytest --alluredir "${WORKSPACE}/allure-results"
# 退出
exit 0
6、构建后操作
配置allure,path与脚本中的地址一致
image.png
7、构建任务
image.png
如果构建失败,提示sh: source: not found
。说明默认解释器是dash而不是bash,导致无法识别source命令。
查看默认解释器
ls -l /bin/sh
,如果显示dash,再执行命令dpkg-reconfigure dash
,输入no。此命令需要root权限。