Jenkins:为 Python 项目创建管道


我最近尝试使用Jenkins为我的Python项目建立一个管道。这个过程并不简单,但我能够弄清楚。

我将尝试在本文中描述我是如何做到的,以便任何开始或从事类似项目的人都可以遵循指南。

开始设置管道所需的先决条件很少

  • 了解 Docker 和 Jenkins
  • 安装码头工人
  • 詹金斯(本文将介绍虚拟环境的设置)

要检查您的计算机上是否安装了 docker,请打开您的终端并执行命令“docker” 如果安装了 docker,您应该会看到类似以下内容的内容。如果没有,请下载并安装 docker,现在让我们做一些更有趣的事情,哈哈。

已安装码头工人

接下来,我们将使用以下命令在 docker 上安装 jenkins

docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk11

该命令自动告诉 docker 安装 Jenkins 镜像并绑定端口和端口
请记下将出现的密码,并可能在您需要时将其记在某个地方
808050000

认证

现在让我们通过以下步骤打开我们刚刚创建的 Jenkins 映像

  • 打开新浏览器
  • 转到(G)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'
            }
        }
    }
}

代码功能演练

  • 阶段:在这里,我们概述了管道所需的每个步骤。

  • 阶段:在这里,有三个阶段(结帐,构建和测试)

-BUILD
在大括号{}内,在构建阶段,我们为我们的python文件生成了一个pipline shell脚本,以便在这里运行,您必须在容器上安装python3,因此,运行“docker ps”以查看正在运行的容器 – 复制Jenkins的容器ID,例如之后的“8f7c957e19fd” – 要在Docker容器中打开一个交互式终端, 使用命令 'docker exec -it -u 0 8f7c957e19fd /bin/bash' (user 0)
运行以下命令在 Docker 容器中安装 Python3 和 pip

apt-get update
apt-get install python3
apt-get install python3-pip

-TEST
在测试阶段,我们生成了一个管道 shell 脚本来测试我们的 python 文件,然后“pip install pytest”将安装 pytest 包,它将在管道中的测试阶段运行单元/集成测试。

脚本会话
在此阶段之后,单击保存

挡泥板

中提琴!我们已经建立了我们的管道;现在是时候将其付诸行动了。为此,请转到侧边栏并单击立即构建,管道将启动。
如果管道构建正确,您应该看到以下内容

构建仪表板

如果没有,请检查控制台以确定错误所在并更正。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/291980.html

(0)
上一篇 2022年10月29日
下一篇 2022年10月29日

相关推荐

发表回复

登录后才能评论