Jenkins:为 Python 项目创建流水线
我最近尝试使用 Jenkins 为我的 Python 项目搭建一个流水线。过程并不顺利,但我最终还是成功了。
我将在本文中尝试描述我是如何做到的,以便任何刚开始或正在进行类似项目的人都可以按照指南进行操作。
设置管道所需的先决条件很少。
- 了解 Docker 和 Jenkins
- 安装 Docker
- Jenkins(本文将介绍虚拟环境的设置)
要检查你的电脑上是否安装了 Docker,请打开终端并执行命令“docker”。如果 Docker 已安装,你应该会看到类似这样的输出。如果没有,请下载并安装 Docker,现在我们来做点更有趣的事情,哈哈。
接下来,我们将使用以下命令在 Docker 上安装 Jenkins。
run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk11
该命令会自动指示 Docker 安装 Jenkins 镜像并绑定端口8080。50000
请记下显示的密码,并妥善保存,因为您之后会用到它。
现在让我们按照以下步骤打开刚刚创建的 Jenkins 镜像。
- 打开一个新的浏览器
- 前往
localhost:8080 - 系统会提示您输入密码(请输入您之前记下的密码)。
- 安装推荐的插件并按照提示操作。
您应该能看到仪表盘页面。
现在,让我们创建一个管道。
点击侧边栏上的“新建项目”,给项目命名,选择“管道” ,然后点击“确定”。
请提供适合您项目的描述,然后向下滚动到脚本部分。
在此处输入这些代码
pipeline {
agent any
stages {
stage('Checkout') {
steps {
checkout([$class: 'GitSCM', branches: [[name: 'main']], extensions: [], userRemoteConfigs: [[url: 'https://github.com/DevOlabodeM/pytest-intro-vs-M']]])
}
}
stage('Build') {
steps {
git branch: 'main', url: 'https://github.com/DevOlabodeM/pytest-intro-vs-M'
sh 'python3 ops.py'
}
}
stage('Test') {
steps {
sh 'python3 -m pytest'
}
}
}
}
代码功能详解
-
阶段:在这里,我们概述了我们流程所需的每一个步骤。
-
阶段:这里分为三个阶段(检出、构建和测试)。
-检出
我们创建了一个流水线脚本,用于在检出阶段检出我们的 GitHub 仓库,并将其放置在 stages 大括号内。“ https://github.com/DevOlabodeM/pytest-intro-vs-M
在花
括号 {} 内的构建阶段,我们生成了一个用于运行 Python 文件的流水线 shell 脚本。您需要在容器中安装 Python 3,因此请运行 `docker ps` 查看正在运行的容器。复制容器 ID 以便 Jenkins 使用,例如 `8f7c957e19fd`。要在 Docker 容器内打开交互式终端,请使用命令 `docker exec -it -u 0 8f7c957e19fd /bin/bash`(用户 0)。
运行以下命令在 Docker 容器内安装 Python 3 和 pip。
apt-get update
apt-get install python3
apt-get install python3-pip
-测试
在测试阶段,我们生成了一个流水线 shell 脚本来测试我们的 Python 文件,然后运行 `pip install pytest` 命令来安装 pytest 包,该包将在流水线的测试阶段运行单元测试/集成测试。 完成此阶段后,点击保存。
瞧!我们已经构建好了流水线;现在是时候让它投入使用了。为此,请转到侧边栏并单击“立即构建”,流水线就会启动。
如果流水线构建正确,您应该会看到以下内容。
如果问题仍然存在,请检查主机以确定故障原因并进行修复。
感谢您的陪伴,希望对您有所帮助。
请提供反馈和意见。





