1,Jenkins 服务和执行项目的Agent为同一台服务器,当然实际中也可以分开
2,Docker搭建Jenkins服务
3,登录Jenkins安装需要的插件并配置基本信息
4,创建构建项目基本信息和执行命令脚本
5,创建节点,节点机器为搭建Jenkins服务的服务器
6,执行构建
7,调试代码以展示美观的报告,调试邮件模板
1,登录远程服务器
2,搭建Docker,配置镜像源
3,pull jenkins 镜像(注意:参数-d后台运行必加 | -p端口映射,–restart=always | -e 时区 ,-v | 下边步骤4中的参数都是非常关键的参数)
1. docker search jenkins
2. docker pull imageName:版本 (image名字用冒号连接版本号)
3. docker inspect imagename 查看image详细信息
4. 创建容器 docker run -d -p 80:8080 -p 50000:50000 --restart=always -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai -v /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.1.al7.x86_64:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.1.al7.x86_64 -v /etc/localtime:/etc/localtime -v /var/jenkins_home:/var/jenkins_home --name myjenkins docker.io/jenkins/jenkins:lts
4,创建的时候可以为Jenkins分配一个静态ip也可以不分配,如果不分配,在外网用服务器的ip登录也是可以的
5,浏览器输入服务器的ip地址进入到Jenkins登录初始化界面
远程代理机是你构建执行项目的机器,要安装配置跑项目需要的所有环境,比如java环境,python等等
节点就是要连接上你这个agent,在构建时关联这个节点就可以连接上agent并在agent上执行项目代码
1,名字自取
2,远程工作目录必填,远程agent上创建项目执行时的工作目录,会存放jenkins构建过程中的数据,git拉下来的代码,最后的结果报告等,也可放置你需要的插件,比如allure commandline插件
3,登录服务器ssh方式,ip地址加上用户名密码,跳过验证
4,工具位置,可能用到的插件最好集中管理,可以在你的工作目录下建一个文件专门放置会用到的插件
1,名字自取
2,远程工作目录必填,远程agent上创建项目执行时的工作目录,会存放jenkins构建过程中的数据,git拉下来的代码,最后的结果报告等,也可放置你需要的插件,比如allure commandline插件
3,java web代理方式
4,工具位置,可能用到的插件最好集中管理,可以在你的工作目录下建一个文件专门放置会用到的插件
5,点击节点,下载agent.jar 并放置在远程agent工作目录中,在agent电脑上命令行进入agent.jar 放置目录,执行slave给的命令启动agent就可
(五颗星,中间用空格隔开)
第一颗表示分钟,取值0~59
第二颗表示小时,取值0~23
第三颗表示一个月的第几天,取值1~31
第四颗表示第几月,取值1~12
第五颗*表示一周中的第几天,取值0~7,其中0和7代表的都是周日
H/5 * * * * 每5 min 自动构建一次
H H/1 * * * 每一小时自动构建一次
0 9,17 * * * 每天 9点和下午5点构建一次
30 19 * * 4 每周四,19点30分
0 8 * * * 每天早晨8点
H 8,12,18 * * 6,7 每周六日的8点12点18点构建
H 8-23 * * 1-5 每周1到周5,8点到23点,每小时构建一次
H 8-23/2 * * 1-5 每周1到周5,8点到23点,每两小时构建一次
H/30 8-23 * * 1-5 每周1到周5,8点到23点,每30分钟构建一次
linux系统执行shell脚本
1.写上pip , python 的绝对路径(不方便,下边再写一个读取配置环境变量的)
cd InterTest
/usr/bin/pip3 install -r requirements.txt
/usr/bin/python3 run.py
/usr/bin/allure generate report/allure-results -o allure-reports/ --clean
/usr/bin/rm -f allure-reports.zip
/usr/bin/zip -r allure-reports.zip allure-reports
从配置文件/.bash_profile里读取python的环境变量,当然需要自己安装好并添加路径到配置文件里
1,登录slave的代理机后就执行配置文件
2,切换到从git检出的子目录
3,执行项目
4,生成allure报告
5,移除旧的报告并重新打包
4和5的目的是为了打包发送邮件用,在邮件扩展配置中加上路径和文件(InterTest/allure-report.zip)
1,results path 是执行pytest产生的result,用于生成allure报告
2,在程序中pytest.main() 你定义过–alluredir 地址,就是这个地址,下面填写需要与你项目里的地址保持一致
这里只贴与linux不同的地方
写上绝对路径,或者配置好环境变量就不用写绝对路径了
cd InterTest
C:\python\Scripts\pip install -r requirements.txt
C:\python\python run.py
C:\jenkins_workspace\allure2\allure-2.13.9\bin\allure generate report/allure-results -o allure-reports/ --clean
del /s allure-reports.zip
C:\zip\zip -r allure-reports.zip allure-reports
起到一个触发作用,用job关联
在构建触发器里设置,比如Job1执行完立即触发job2
eg: 执行完接口自动化测试,如果是success和unstable 就触发功能自动化测试项目。
场景:实际中,项目有更新build就会触发自动化测试项目进行regression