怎么从0到1使用 Docker + Jenkins + Git + Pytest + Allure 搭建项目自动化框架
时间: 2023-08-13 11:02:19 浏览: 113
搭建项目自动化框架需要遵循以下步骤:
1. 安装 Docker 和 Jenkins:Docker是一个流行的容器化平台,Jenkins是一个流行的持续集成/持续交付工具。安装这两个工具可以帮助我们快速部署和管理应用程序。
2. 创建 Docker 镜像:创建一个 Dockerfile,定义我们的应用程序的环境和依赖项。然后使用 Docker 命令构建我们的镜像。
3. 设置 Git 仓库:将代码托管到 Git 仓库中,以便我们可以在 Jenkins 中自动拉取代码并构建我们的应用程序。
4. 配置 Jenkins:在 Jenkins 中创建一个新的任务,以便我们可以拉取代码、构建镜像、运行测试和生成测试报告。我们可以使用 Jenkinsfile 来定义构建任务的管道。
5. 集成 Pytest:Pytest是一个流行的 Python 测试框架,我们可以在 Jenkins 中使用 Pytest 运行我们的测试用例。
6. 集成 Allure:Allure是一个流行的测试报告框架,它可以帮助我们生成漂亮的测试报告。我们可以在 Jenkins 中使用 Allure 插件来生成测试报告。
以下是更详细的步骤:
1. 安装 Docker 和 Jenkins
首先,我们需要安装 Docker 和 Jenkins。可以在官方网站上找到安装指南。
2. 创建 Docker 镜像
在项目根目录下创建一个 Dockerfile 文件,用于定义我们的应用程序环境和依赖项。例如,如果我们的应用程序需要 Python 3.8,我们可以在 Dockerfile 中添加以下内容:
```
FROM python:3.8
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD [ "python", "app.py" ]
```
然后使用以下命令构建 Docker 镜像:
```
docker build -t myapp .
```
这将构建一个名为“myapp”的 Docker 镜像。
3. 设置 Git 仓库
将代码托管到 Git 仓库中,以便我们可以在 Jenkins 中自动拉取代码并构建我们的应用程序。可以使用 Git 命令行或 Git 客户端将代码推送到 Git 仓库。
4. 配置 Jenkins
在 Jenkins 中创建一个新的任务,以便我们可以拉取代码、构建镜像、运行测试和生成测试报告。我们可以使用 Jenkinsfile 来定义构建任务的管道。
以下是一个简单的 Jenkinsfile 示例:
```
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'docker build -t myapp .'
}
}
stage('Test') {
steps {
sh 'pytest tests --alluredir=./allure-results'
}
}
stage('Report') {
steps {
allure includeProperties: false, jdk: '', properties: [], reportBuildPolicy: 'ALWAYS', results: [[path: 'allure-results']]
}
}
}
}
```
这个管道定义了三个阶段:构建、测试和报告。在构建阶段中,我们使用 Docker 构建我们的镜像。在测试阶段中,我们使用 Pytest 运行我们的测试用例,并将测试结果保存在 allure-results 目录中。最后,在报告阶段中,我们使用 Allure 插件生成测试报告。
5. 集成 Pytest
在项目中添加测试用例,使用 Pytest 运行测试用例。可以使用以下命令运行测试:
```
pytest tests
```
6. 集成 Allure
使用 Allure 生成漂亮的测试报告。可以使用以下命令生成测试报告:
```
allure serve allure-results
```
可以在 Jenkins 中使用 Allure 插件来生成测试报告。在 Jenkins 中安装 Allure 插件后,只需在 Jenkinsfile 中添加以下代码即可:
```
allure includeProperties: false, jdk: '', properties: [], reportBuildPolicy: 'ALWAYS', results: [[path: 'allure-results']]
```
这将在 Jenkins 构建完成后自动生成测试报告。
以上就是从0到1使用 Docker + Jenkins + Git + Pytest + Allure 搭建项目自动化框架的步骤。
阅读全文