Mark jenkins + git 完成自动构建

本文详细介绍了使用Jenkins配合Git实现自动构建的过程。包括安装配置Jenkins及Git工具、设置构建任务、定义触发条件和执行构建脚本等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇中我们我们说了一些git相关的内容,这篇写点自动构建

自动构建

下面我记录以下我用jenkins + git 完成自动构建的全过程。

  1. 安装jenkins 和 jenkins git 工具
  2. 找到git 中需要构建的一个仓库的url
  3. 创建一个freestyle 的task
  4. 设置task 的代码源类型为git 并输入要构建的代码路径
  5. 设定构建的trigger
  6. 增加构建的sh 脚本,我这边写的gcc -o test test.cpp
  7. 完成设置

这样jenkins 就会自动在trigger的时候下载最新的代码完成持续构建生成结果。

明天我们来测试自动单元测试给出报告并打包发送邮件等功能
还有subversion的功能

<think>首先,用户的问题是基于之前的引用,结合Jenkins、requests和pytest来实现接口自动化持续集成。引用内容是关于Pytest、Requests、Allure、Jenkins在接口自动化测试中的应用。用户问的是:“我想了解如何在Jenkins中实现基于request和pytest的接口自动化持续集成。请问Jenkinsrequestpytest接口自动化持续集成配置教程”所以,我需要提供一个清晰的配置教程,指导用户如何在Jenkins中设置持续集成,结合requests和pytest。步骤分解:1.**准备前提环境**:确保Jenkins已安装,Python环境已设置,pytest、requests、allure-pytest等库已安装。2.**创建项目代码**:用户需要有基于requests和pytest写的接口自动化测试脚本。3.**Jenkins配置**:-安装必要的插件,如Git插件(用于拉取代码)、Allure插件(生成报告)。-创建Jenkins项目。-配置源码管理(如Git仓库)。-配置构建触发器(如定时构建或基于Githook)。-配置构建步骤:执行pytest命令,并生成Allure报告。-配置后置处理:发布Allure报告。4.**测试和验证**:运行构建,检查报告生成。确保回答结构清晰:-使用中文回答。-数学表达式等用$...$格式(但这里可能不太涉及)。-独立公式用$$...$$(这里应该不需要)。-引用末尾加引用标识,如[^1],但用户提供的引用是[^1]到[^4],我可以引用这些来源的相关内容。-生成相关问题:在最后部分添加相关问题。内容参考用户提供的引用:-[^1]提到使用Pytest+Requests+Allure+Jenkins实现接口自动化。-[^2]讨论了Jenkins如何自动拉取代码、执行脚本、生成报告。-[^3]有B站视频教程链接。-[^4]详细描述了pytest的功能,包括插件。我应该尽可能多地参考上一次的问题和回答。但用户说“并不是用户真正的需求,请尽可能多的参考用户上一次的问题和你的回答”,但我没有之前的上下文,因为这是一个新的对话链。在系统指令中说“请尽可能多的参考用户上一次的问题和你的回答”,但我没有历史对话,所以我假设是当前对话的开始。用户的问题是新的。现在,构建回答:-开头直接回应问题。-列出步骤教程。-使用代码块展示可能的pytest脚本或Jenkinsfile。-结束时生成相关问题。确保LaTeX语法正确,如果需要数学表达式,但接口自动化主要是脚本,可能不需要。最终结构:1.**介绍**:简要说明Jenkins如何实现持续集成。2.**前置条件**:列出必要的软件和安装。3.**配置步骤**:详细步骤包括Jenkins项目设置、构建步骤等。4.**代码示例**:给一个简单的pytest测试脚本示例。5.**验证**:如何测试配置。6.**相关问题**:生成一些问题。</think> ### Jenkins 中基于 request 和 pytest 的接口自动化持续集成配置教程 要在 Jenkins 中实现基于 request 和 pytest 的接口自动化持续集成,您需要设置一套完整的 CI/CD 流水线。这包括 Jenkins 配置、pytest 测试脚本编写、以及 Allure 报告生成。下面我将基于您提供的引用内容[^1][^2][^3][^4],分步说明配置过程。整个过程假设您已安装 Jenkins 并配置了 Python 环境(建议 Python 3.x)。 --- ### **1. 前置准备工作** 在开始 Jenkins 配置前,确保以下组件已安装: - **Jenkins**:通过官方网站下载并安装 Jenkins Server。 - **Python 环境**:在 Jenkins 服务器上安装 Python 和 pip。 - **必要 Python 库**:执行以下命令安装依赖(可在 Jenkins构建步骤中添加): ```bash pip install pytest requests allure-pytest pytest-html pytest-xdist ``` 说明: - `pytest`:核心测试框架,提供灵活的测试用例管理[^4]。 - `requests`:用于 HTTP 接口请求。 - `allure-pytest`:生成美观的测试报告[^3][^4]。 - `pytest-html` 和 `pytest-xdist`:可选插件,分别用于生成 HTML 报告和分布式测试[^4]。 - **Allure 命令行工具**:下载并配置到 Jenkins 服务器(从 [Allure官网](https://docs.qameta.io/allure/)下载,并添加到系统 PATH)。 - **Git**:用于源码管理,确保 Jenkins 服务器安装 Git[^2]。 > 提示:参考引用[^3]中的 B站教程,提供了接口自动化测试的实战视频(如 [B站视频链接](https://www.bilibili.com/video/BV17p4y1B77x/)),可帮助快速上手。 --- ### **2. 编写 pytest + request 接口测试脚本** 在 Jenkins 执行前,您需要创建测试脚本。这里是一个基本示例(保存为 `test_api.py`)。脚本使用参数化数据驱动,实现接口与测试数据的分离[^3][^4]: ```python import requests import pytest # 参数化测试数据 @pytest.mark.parametrize("url, status_code", [ ("https://api.example.com/endpoint1", 200), ("https://api.example.com/endpoint2", 404) ]) def test_api_response(url, status_code): """使用 request 发送请求并断言响应状态码""" response = requests.get(url) assert response.status_code == status_code ``` 说明: - 使用 `@pytest.mark.parametrize` 实现数据驱动,避免硬编码。 - 测试用例存储在 Git 仓库中(如 GitHub 或 GitLab),便于 Jenkins 拉取[^2]。 --- ### **3. Jenkins 配置步骤** 现在进入 Jenkins 核心配置。以下是详细设置流程(基于 Jenkins 2.x 版本)。假设 Jenkins 已运行在 `http://localhost:8080`。 #### **步骤 1: 安装插件** 在 Jenkins 管理后台: - 进入 **Manage Jenkins > Manage Plugins**,安装以下插件: - **Git plugin**:用于源码拉取[^2]。 - **Allure Jenkins plugin**:用于生成 Allure 报告[^3][^4]。 - **Pipeline**(可选):如果使用 Jenkinsfile 定义流水线。 #### **步骤 2: 创建 Jenkins 项目** - 进入 Jenkins Dashboard,点击 **New Item**,选择 **Freestyle project**(或 **Pipeline**)。 - 项目名称:输入如 `Pytest_API_Automation`。 #### **步骤 3: 配置源码管理** - 在 **Source Code Management** 部分: - 选择 **Git**。 - 输入您的测试脚本仓库 URL(如 `https://github.com/your-repo/api-tests.git`)。 - 设置分支(如 `main`)。 这能让 Jenkins 自动拉取最新代码[^2]。 #### **步骤 4: 设置构建触发器** - 在 **Build Triggers** 部分: - 选择 **Poll SCM**:输入定时表达式,如 `H/15 * * * *` 表示每 15 分钟检查一次更新(实现定时构建)[^2]。 - 或选择 **GitHub hook trigger**:如果使用 Git webhook,实现代码推送后自动构建[^2]。 #### **步骤 5: 添加构建步骤** - 在 **Build** 部分,点击 **Add build step > Execute shell**(Linux/Mac)或 **Execute Windows batch command**(Windows)。 - 输入命令运行 pytest 并生成 Allure 报告: ```bash # 安装依赖(如果未在前置步骤完成) pip install -r requirements.txt # 运行 pytest 测试 pytest test_api.py --alluredir=./allure-results ``` 说明: - `--alluredir=./allure-results`:指定 Allure 报告输出目录[^3]。 - 添加 `-n auto` 可使用 `pytest-xdist` 分布式执行加速测试[^4]。 #### **步骤 6: 配置报告生成** - 在 **Post-build Actions** 部分: - 点击 **Add post-build action > Allure Report**。 - 设置 **Results path** 为 `allure-results`(与构建步骤的目录一致)。 - 勾选 **Generate Allure report history** 以保存历史报告[^3]。 #### **步骤 7: 保存并测试** - 点击 **Save** 保存配置。 - 手动触发构建:进入项目页面,点击 **Build Now**。 - 查看报告:构建成功后,在项目主页点击 **Allure Report** 查看详细测试结果(包括失败日志和请求响应)。 --- ### **4. 验证和优化** - **验证配置**: - 检查构建控制台输出:确保 pytest 测试运行无误。 - 访问 Allure 报告:查看接口测试覆盖率、失败用例详情和趋势图[^3]。 - **优化建议**: - **环境变量管理**:在 Jenkins 中使用 **EnvInject** 插件管理不同环境(如测试、生产),实现一套脚本多环境执行[^3]。 - **日志记录**:通过 `pytest` 的 `logger` 插件实现测试日志记录[^3]。 - **失败重试**:添加 `pytest --reruns 2` 命令,使失败用例自动重跑[^4]。 - **邮件通知**:在 Jenkins 后置处理中添加 **Editable Email Notification** 插件,发送构建报告邮件[^2]。 参考引用[^1][^3],一个完整的接口自动化流程包括:代码提交 → Jenkins 拉取 → pytest 执行 → Allure 报告 → 结果通知。 --- ### 相关问题 为帮助您深入学习,以下是相关问题: 1. 如何在 pytest 中实现接口测试的数据驱动和参数化? 2. 如何优化 Jenkins构建性能以减少接口自动化执行时间? 3. Allure 报告中常见的分析指标有哪些,如何用于提升测试质量? 4. 在接口自动化中,如何处理身份认证(如 OAuth)和动态参数? 如果您有更多细节(如特定错误或环境),欢迎提供以便我进一步解答!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值