展开菜单
首页 精品内容 本月促销 装机必备 Windows macOS软件 IOS软件 Android AI PDF教程 专题
全部分类

当前位置:

首页 > 编程开发 > Docker Compose+Jenkins自动化部署流程图文教程

Docker Compose+Jenkins自动化部署流程图文教程

前言 在软件开发的快节奏世界里,自动化是提升效率、保障质量的关键。而说到自动化部署,Jenkins 绝对是一个绕不开的名字。它是一款基于Ja va开发的开源持续集成与持续交付(CI/CD)服务器,专门用来搞定软件开发中那些繁琐的构建、测试和部署流程。 简单来说,CI/CD可以拆解为两个核心环节: C

前言

在软件开发的快节奏世界里,自动化是提升效率、保障质量的关键。而说到自动化部署,Jenkins 绝对是一个绕不开的名字。它是一款基于Ja va开发的开源持续集成与持续交付(CI/CD)服务器,专门用来搞定软件开发中那些繁琐的构建、测试和部署流程。

简单来说,CI/CD可以拆解为两个核心环节:

  • CI(持续集成):这就像是给代码做“全面体检”。每当有新的代码提交,系统就会自动拉取代码,然后进行编译、构建、单元测试,甚至用SonarQube这类工具扫描代码质量。整个过程的目标是快速发现问题,但绝不发布上线,完全不影响线上环境的稳定。
  • CD(持续交付/部署):体检通过后,就该“上岗”了。这个环节负责把构建好的成果(比如Jar包、前端Dist目录或Docker镜像)上传,并部署到测试、预发乃至生产环境,最终重启服务,完成上线。一句话,CD是真正让代码在线上“跑起来”的那一步。

理解了这两个概念,我们就能明白,搭建一套CI/CD流水线,本质上是在为团队构建一条从代码到用户的自动化高速公路。

准备工作

在动手配置Jenkins之前,有几项准备工作必不可少。遵循这些步骤,能让你后续的流程走得更加顺畅:

  • 首先,确保你的环境中已经安装好Docker Compose,并用它来部署Jenkins和Git服务。
  • 一个关键建议是:在宿主机(而非容器内)生成SSH密钥对,然后将密钥挂载到Jenkins容器中。
  • 接着,将生成的公钥配置到你使用的Codeup等代码仓库的SSH设置里。
  • 最后,别忘了进入Jenkins容器内部,测试一下SSH连接是否畅通。这几步做好了,就为后续的自动化代码拉取铺平了道路。

Jenkins配置流程

1. 创建job

Docker Compose+Jenkins自动化部署流程图文教程

万事开头,从创建一个新的Jenkins任务开始。这个过程很直观,就像给我们的自动化流水线起个名字、安个家。

2. 选择流水线类型

Docker Compose+Jenkins自动化部署流程图文教程

在众多任务类型中,我们需要选择“流水线”(Pipeline)。这是Jenkins的灵魂所在,它允许我们以代码的方式定义整个构建、测试、部署的流程,灵活且强大。

3. 到这里我们就开始配置Pipeline script,点击Pipeline语法,来自动生成我们需要的配置。

Docker Compose+Jenkins自动化部署流程图文教程

接下来进入核心环节——编写Pipeline脚本。别担心,Jenkins提供了非常友好的“Pipeline语法”生成工具,对于不熟悉的配置,完全可以利用它来辅助生成,能省去不少查阅文档的时间。

4. 如下图,我们Git方式,配置Git仓库地址(SSH协议),再添加认证相关。

Docker Compose+Jenkins自动化部署流程图文教程

流水线的第一步通常是拉取代码。在生成工具中,我们选择Git方式,填入仓库的SSH地址。更关键的一步是配置认证,让Jenkins有权限访问你的代码库。

5. 这里我们使用的是秘钥认证方式,由于jenkins是通过docker compose管理容器,推荐在宿主机上生成密钥对,然后挂载到容器中,公钥配置到git仓库SSH配置中,私钥粘贴到下图Key中,这样jenkins就可以免交互的拉取git仓库 中的代码了。

Docker Compose+Jenkins自动化部署流程图文教程

这里采用SSH密钥认证是最佳实践。尤其当Jenkins运行在Docker容器中时,更推荐在宿主机生成密钥对并挂载进去。把公钥交给Git仓库,把私钥粘贴到Jenkins的凭证配置里(如上图所示)。这样一来,Jenkins就能实现免密、无交互地拉取代码,自动化流程才真正称得上“自动”。

6. 配置完成后,我们就可以生成Pipeline脚本了。点击下方Generate Pipeline Script,然后复制方框内的内容。

Docker Compose+Jenkins自动化部署流程图文教程

所有参数填妥后,点击“Generate Pipeline Script”按钮,一段标准的Git拉取代码脚本就自动生成了。复制这段代码,它就是我们流水线脚本的第一块积木。

7. 编写我们所需要的Pipeline脚本如下,将其粘贴到script的拉取代码模块中,并修改正确的分支,其他模块内容自行编写。

pipeline {
    agent any
    stages {
        stage('拉取代码') {
            steps {
                git(
                    url: 'git@codeup.aliyun.com:xxxx.git',
                    branch: 'master',
                    credentialsId: 'codeup-xxxx'  // 你在 Jenkins 中创建的凭证ID
                )
            }
        }
        stage('构建') {
            steps {
                sh 'echo "开始构建..."'
                // 你的构建命令,例如:
                // sh 'mvn clean package'
                // sh 'npm install && npm run build'
            }
        }
        stage('测试') {
            steps {
                sh 'echo "运行测试..."'
                // sh 'mvn test'
                // sh 'npm test'
            }
        }
    }
    post {
        success {
            echo 'Pipeline 执行成功!'
        }
        failure {
            echo 'Pipeline 执行失败!'
        }
    }
}

现在,让我们组装一个完整的流水线示例。将生成的Git脚本粘贴到‘拉取代码’阶段。别忘了根据你的实际情况修改仓库地址、分支名和凭证ID。后续的‘构建’、‘测试’阶段,则需要你填入项目特定的命令,比如Ma ven的`clean package`或NPM的`install && run build`。最后的`post`部分定义了成功或失败后的处理,让流程有始有终。

8. 立即构建,运行测试

Docker Compose+Jenkins自动化部署流程图文教程

脚本编写完成,激动人心的时刻到了:点击“立即构建”。Jenkins会开始执行你定义的流水线,每个阶段的状态都会清晰展示。通过观察控制台输出,你可以验证整个流程是否如预期般运行。这第一次成功的构建,标志着你的自动化部署流水线已经正式启航。

总结

通过以上步骤,我们完成了一套基于Docker Compose和Jenkins的基础CI/CD流水线搭建。从环境准备、密钥配置,到编写Pipeline脚本并成功运行,整个过程其实清晰地勾勒出了自动化部署的核心脉络。关键在于理解每个环节的作用:准备工作是基石,SSH密钥认证是安全畅通的保障,而Pipeline脚本则是驱动整个流程的蓝图。掌握了这个框架,你就可以根据自己项目的具体技术栈(Ja va/Node.js/Python等),去填充“构建”、“测试”乃至“部署”阶段的具体命令,从而打造出一条完全贴合团队需求的、高效可靠的软件交付流水线。

本文内容来源于互联网,如有侵权请联系删除。
作者最新文章
编程开发 jenkins
相关文章 更多
精品专题 更多
本月促销

正软商城本月促销专区,汇集办公、设计、安全、影音、系统工具及AI软件等正版软件优惠活动,提供限时折扣、特价授权和优惠购买信息,活动库存及价格以页面实时展示为准。

装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

IOS软件

正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

AI

正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
灵活计算器
灵活计算器

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

赤友清理大师
赤友清理大师

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

图几
图几

图几是一款适用于 macOS 的截图、标注与美化工具,支持离线操作保障隐私。界面整理和高频系统操作被放到一起考虑,桌面或窗口内容一多时,管理起来会更省心。

密码键盘
密码键盘

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

思源笔记
思源笔记

思源笔记是一款本地笔记软件,提供所见即所得的编辑方式,为长文写作带来顺滑的体验。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

Office 365 简体中文
Office 365 简体中文

一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。

WALTR PRO
WALTR PRO

WALTR是一款电脑至iOS文件传输转换工具,操作简单,快速实现文件识别与传送。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

CodeExpander
CodeExpander

CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。

Mountain Duck
Mountain Duck

Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

Menuist
Menuist

Menuist 是一款面向 macOS 的 Finder 右键菜单增强工具,主要用来补充新建文件、快捷导航等常用操作,让日常文件管理和访问路径时更高效、更顺手。

Mole
Mole

Mole 是一款专为 Mac 设计的深度清理优化工具,涵盖缓存清理、应用管理及实时状态监控等功能。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

WINDOWS 更多
Windows 10
Windows 10

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

思源笔记
思源笔记

思源笔记是一款本地笔记软件,提供所见即所得的编辑方式,为长文写作带来顺滑的体验。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

傲梅轻松备份
傲梅轻松备份

傲梅轻松备份是一款专业易用的数据备份软件,为重要数据提供安全保障。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

Office 365 简体中文
Office 365 简体中文

一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。

Wise Folder Hider Pro
Wise Folder Hider Pro

Wise Folder Hider Pro 是一款专业级文件和文件夹隐藏加密软件,为私密数据添加多重保护。高频操作更强调就近处理,浏览、整理和跨目录移动文件时,来回切换和重复点击都会少很多。

WALTR PRO
WALTR PRO

WALTR是一款电脑至iOS文件传输转换工具,操作简单,快速实现文件识别与传送。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

CodeExpander
CodeExpander

CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。

PinStack
PinStack

PinStack是一款轻量级的Windows平台剪贴板管理工具,优化您的剪贴板使用体验。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

Mountain Duck
Mountain Duck

Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

Seer
Seer

Seer是一款在Win平台下的空格键功能增强效率工具,只需轻敲空格键,就能预览几乎任何格式的文件。它更适合把零散的小功能集中起来使用,处理高频琐碎任务时会更省事。