Jenkins+Python自动化测试持续集成详细教程

本文详细介绍了Jenkins的安装、离线安装与升级,以及如何部署Python项目进行自动化测试。内容包括源码管理、构建过程、发送邮件的配置、定时任务设置,并提供了Jenkins汉化的指导。

Jenkins安装

Jenkins安装

​ Jenkins是一个开源的软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。由于是基于java开发因此它也依赖java环境,安装之前需要先安装jdk,建议jdk1.8+,安装后配置java环境变量。安装jdk成功后,在cmd使用java -version可查看jdk版本信息。

​ 官网下载地址:Jenkins ,或者这个网址直接下载:http://mirrors.jenkins.io/war-stable/latest/jenkins.war ,下载的包可以是Jenkins.war,也可以是Jenkins.msi。

​ 如果是Jenkins.war,那么将这个文件放到一个目录下,打开cmd,进入到此文件所在目录,执行:java -jar jenkins.war --httpPort=8080即可;如果是Jenkins.msi,直接双击打开运行安装。

​ 安装好之后,打开浏览器输入:localhost:8080,会出现下面这个图:

​ 稍等一会,会提示需要输入管理员密码,按照提示到对应的路径找到initialAdminPassword这个文件,用记事本打开,里面会有一个密码,把这个密码粘贴到文本框中点确定即可。

​ 到下图这一步时,选择左边安装推荐的插件,安装插件的过程会比较漫长,如果网络比较差,很多安装失败的话也可以点击continue跳过安装,就会跳到设置用户页面,设置一个用户密码,就进入主页面了。

离线安装插件

​ 在安装jenkins时如果跳到了插件安装,后面想再安装插件可以在主页面系统管理》插件管理中下载,如果网络不好下载插件很慢或失败时,可以试试到这个插件列表中去下载:Index of /download/plugins ,下载的是.hpi格式的文件,下载后在jenkins系统管理》插件管理》高级》上传插件,上传对应插件的.hpi文件,然后重启jenkins即可。

离线升级

​ 同理,在需要升级jenkins时,在线升级比较慢的情况下,我们也可以离线去下载,推荐地址:http://mirrors.jenkins-ci.org/war/ ,下载的是.war后缀的包。

​ 离线升级步骤🔻:

### 使用 JenkinsPython 实现持续集成测试 #### 集成测试概述 集成测试是指验证多个模块组合在一起后的功能是否正常工作。对于Python应用程序而言,这通常涉及确保各个组件之间的交互按预期运行[^1]。 #### 工具选择 为了实现高效可靠的CI/CD流程,在此推荐使用Pytest作为主要的测试框架,它支持多种插件来增强其能力,比如参数化测试、并行执行等功能;而Jenkins则是一个流行的开源自动化服务器,非常适合用来管理构建过程中的不同阶段,包括但不限于代码检入触发器设置、环境准备以及实际的测试执行等操作[^3]。 #### 构建 Jenkins Pipeline 下面展示了一个简单的声明式pipeline脚本例子,该脚本定义了如何在一个基于Linux系统的环境中配置Python应用项目的自动化工序: ```groovy pipeline { agent any stages { stage('Checkout') { steps { git 'https://github.com/user/repo.git' } } stage('Setup Environment') { steps { sh ''' python3 -m venv myvenv source myvenv/bin/activate pip install --upgrade pip setuptools wheel pip install -r requirements.txt ''' } } stage('Run Tests') { steps { sh ''' pytest tests/ ''' } } // 可选:部署或其他后续动作... } post { always { junit 'tests/results/*.xml' // 假设pytest已配置为生成JUnit XML报告文件 cleanWs() // 清理workspace保持干净整洁的工作区 } } } ``` 上述Groovy脚本展示了怎样利用Git拉取源码仓库的内容,并创建虚拟环境安装依赖项之后再调用`pytest`命令来进行全面的测试覆盖。此外还包含了清理工作空间的动作以维持良好的卫生习惯[^2]。 #### Pytest 的 JUnit 报告格式 为了让Jenkins更好地理解和处理来自Pytest的结果数据,建议启用相应的选项让后者输出兼容于前者理解的标准XML格式文档。可以通过向命令行添加如下参数完成这项任务:`--junitxml=results/test-report.xml`。 #### 安全性和性能考虑 当涉及到敏感信息(如API密钥)时,请务必采用安全的方式存储这些凭证而不是硬编码到版本控制系统里去。可以借助像Vault这样的专用服务或者直接运用平台自带的功能(例如GitHub Secrets)。另外值得注意的是要优化整个流水线的速度表现,尽可能缩短反馈周期从而加快开发迭代速率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值