1.CI-持续集成
频繁的(一天多次)将代码集成到主干
目的:让产品快速迭代,保持高质量
好处:
- 快速发现错误,每次更新都集成到主干,可以快速发现错误,定位错误也容易
- 防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成
2.敏捷、CI/CD、DevOps
敏捷:专注于快速交付的同时,突出变化的过程。(画板、站立会)
CI/CD:专注于软件生命周期内强调自动化的工具
Devops:专注于强调响应能力的文化角色(开发、测试、运维)的一种思想,具体需要Jenkins落地实施
3.Jekins学习
(1)简介
开源,提供操作界面的CI持续集成工具
(2)安装方式-3种
搭建jenkins环境–docker容器技术
镜像:
(1)官方镜像–纯净版
(2)公司自己的镜像仓库-可能会扩展python解释器、git、allure+pytest等常用三方库
容器操作
#在宿主机新建挂载目录
mkdir -p /var/jenkins_node
#给权限 wrx
chmod 777 /var/jenkins_node
#创建与启动守护式容器--容器端口使用8080
docker run -id --name=myJenkis -v /var/jenkins_node:/var/jenkins_home --restart=always
registry.cn-hangzhou.aliyuncs.com/sqqdc1/jenkins
访问jenkins URL:http://虚拟机ip:7070
# 登录后需要解锁 --获取密码
cat /var/jenkins_node/secrets/initialAdminPassword
运行jenkins容器,做相关配置
1.安装插件-点默认的
2.创建管理员用户
3.自行安装需要的库
allure插件(将jenkins和allure链接起来,能够使用allure)
gitlab
4.查看jenkins容器中有没有:
python解释器3、pytest、allure、git
5.jenkins 全局环境变量配置
JAVA_HOME–容器里的
/usr/local/openjdk-8
git
allure
验证检查python运行环境
# 进入容器,进入命令行工具中
docker exec -it 容器id /bin/bash
# root方式进入容器,进入命令行工具中
docker exec -uroot -it 容器id /bin/bash
查看有没有python环境,如果不能之间运行pytest命令,则:
whereis python
whereis pytest
在/opt/python3/bin 是可以运行的
如果希望在任意路径下都可以执行 pytest,只要应用在/usr/bin就可以在任意路径运行
软连接:只要运行这个命令,就会到它的安装路经去找
# ln -s 源应用安装路径 执行路径,在/usr/bin/pytest没有找到,就按源路径找
ln -s /opt/python3/bin/pytest /usr/bin/pytest
pip3 list #查看python3解释器中有没有需要的库
pip3 install xxx
# 命令在usr/bin下 不用加./ pip3 list
#没有在usr/bin 下 需要加./ ./allure
命令在usr/bin下 不用加./ pip3 list
没有在usr/bin 下 需要加./ ./allure
新建工程
点立即构建
在宿主机挂载目录/var/jenkins_node中会新增加一个workspace,里边有刚新建的工程项目
将自动化代码复制到该工程目录下
运行自动化代码
# Delivery_System_0908是自动化项目目录
cd Delivery_System_0908/testCase
pytest -s
查看报错-看提示
jenkins执行完有allure报告
- 在构建配置里去设置一个构建后操作
- 构建后allure指令去操作报告所存放文件的路径生产报告
选-可选插件-搜索Allure-直接安装-点击重启jenkins
点全局工具配置
执行完之后有邮件,邮件里有报告
- 检查有没有邮件的插件
- 测试下邮件的基本设置是否可以通
选择【系统配置】-输入发件人邮箱
SMTP Port:
虚拟机填25,
阿里云服务器填465,还要勾上后面的ssl
点击Test configuration测试邮件是否可以发送,然后点击构建