📜  使用在 Docker 上运行的Jenkins Pipeline 从 GitHub 构建、测试和部署 Flask REST API 应用程序(1)

📅  最后修改于: 2023-12-03 14:49:54.028000             🧑  作者: Mango

在 Docker 上运行的 Jenkins Pipeline

目标

本文将介绍如何使用 Jenkins Pipeline 从 GitHub 构建、测试和部署 Flask REST API 应用程序。我们将在 Docker 上部署 Jenkins,并设置自动化 CI/CD 流水线来实现持续集成和持续交付。

环境准备

在开始之前,确保你拥有以下环境:

  • 安装 Docker
  • 安装 Jenkins
  • 创建 GitHub 仓库
  • 编写 Flask REST API 应用程序
步骤
步骤 1:安装和配置 Jenkins
  1. 使用以下命令在 Docker 中安装 Jenkins:

    docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
    
  2. 打开浏览器并访问 http://localhost:8080,按照界面指引完成 Jenkins 的初始设置。

步骤 2:创建 Jenkins Pipeline
  1. 在 Jenkins 界面中,点击 "New Item" 创建一个新的流水线项目。
  2. 输入项目名称,并选择 "Pipeline" 类型。
  3. 在 "Pipeline" 部分,选择 "Pipeline script from SCM"。
  4. 在 "SCM" 部分,选择 "Git",并填写你的 GitHub 仓库 URL。
  5. 勾选 "Script Path",并输入 Jenkinsfile 的路径(通常位于仓库的根目录)。
  6. 点击 "Save" 保存配置。
步骤 3:编写 Jenkinsfile

在你的仓库根目录中,创建一个名为 Jenkinsfile 的文件,并使用以下内容:

```groovy

pipeline {
    agent any

    stages {
        stage('Checkout') {
            steps {
                // 检出代码
                git 'https://github.com/your-username/your-repo.git'
            }
        }

        stage('Build') {
            steps {
                // 构建应用程序
                sh 'docker build -t flask-api .'
            }
        }

        stage('Test') {
            steps {
                // 运行单元测试
                sh 'docker run --rm flask-api pytest'
            }
        }

        stage('Deploy') {
            steps {
                // 部署应用程序
                sh 'docker run -d -p 80:5000 flask-api'
            }
        }
    }
}

这个 Jenkinsfile 定义了几个不同的阶段:检出代码、构建应用程序、运行单元测试和部署应用程序。你可以根据你的实际需求扩展或修改这些阶段。

步骤 4:运行流水线
  1. 回到 Jenkins 界面,找到你创建的流水线项目,并点击 "Build Now" 触发流水线的运行。
  2. Jenkins 将根据你在 Jenkinsfile 中定义的步骤进行构建、测试和部署。

你可以通过查看 Jenkins 控制台输出来跟踪流水线的执行情况。

结论

通过本文的指导,你学习了如何在 Docker 上运行的 Jenkins Pipeline 中构建、测试和部署 Flask REST API 应用程序。Jenkins Pipeline 提供了强大的自动化功能,使得持续集成和持续交付变得更加简单和可靠。你可以根据实际项目的需求来扩展和修改这个流水线。