当前位置:

首页 > 编程开发 > 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等),去填充“构建”、“测试”乃至“部署”阶段的具体命令,从而打造出一条完全贴合团队需求的、高效可靠的软件交付流水线。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 jenkins
    相关文章 更多
    jenkins配置git仓库步骤与凭证设置教程
    jenkins配置git仓库步骤与凭证设置教程

    遇到Jenkins拉取代码报错?本教程手把手教你配置Git仓库地址,正确添加SSH或HTTP凭证,并演示在自由风格项目和Pipeline中如何调用,彻底解决权限验证难题。

    jenkins构建失败怎么查看原因及日志排查教程
    jenkins构建失败怎么查看原因及日志排查教程

    面对Jenkins构建失败,通过解析控制台输出、检查系统日志和验证节点状态,快速区分代码逻辑错误与环境配置问题,提供高效的故障排查思路。

    jenkins自动部署jar包教程及完整操作流程
    jenkins自动部署jar包教程及完整操作流程

    手把手教你配置Jenkins自动部署Java应用。涵盖Git源码管理、Maven构建配置、SSH远程执行脚本及JAR包替换重启的全流程操作,解决手动部署繁琐易错的问题。

    如何使用正确的凭据登录 Jenkins
    如何使用正确的凭据登录 Jenkins

    简介 Jenkins 是一个广泛使用的开源自动化服务器,可帮助开发人员构建、测试和部署他们的软件项目。在本教程中,我们将指导你使用正确的凭据登录 Jenkins,并解决你可能遇到的任何登录问题。 Jenkins 简介 Jenkins 是一款广受欢迎的开源自动化服务器,用于构建、测试和部署软件应用程序

    如何设置 Jenkins 在系统启动时自动启动
    如何设置 Jenkins 在系统启动时自动启动

    简介 Jenkins作为一款备受青睐的开源自动化服务器,为开发人员构建、测试及部署软件项目提供了有力支持。在本教程里,我们将引领你完成Jenkins的配置,使其能在系统启动时自动开启,保证你的持续集成/持续交付(CI/CD)工作流程得以顺畅运行。 Jenkins 简介 Jenkins 是一款广受欢迎

    运维|devops|JenkinsPipeline流程构建
    运维|devops|JenkinsPipeline流程构建

    运维|devops|Jenkins Pipeline流程构建基于 jenkins Version 2.541.3 实操案例Jenkins Pipeline基于 Groovy 的持续交付流水线代码(Pipeline as Code)Pipeline script vs Pipeline script

    配置Jenkins自动拉取gitlab中的代码并部署方式
    配置Jenkins自动拉取gitlab中的代码并部署方式

    首先安装Jenkins必要插件并配置SSH密钥以实现免密拉取代码,然后创建Jenkins任务并设置构建后自动同步到Web服务器,最后一步配置GitLabWebhook使得代码推送时自动触发部署,从而最终完成一套完整的自动化CI/CD流水线搭建。

    Sublime配置Groovy环境_编写Jenkins流水线代码
    Sublime配置Groovy环境_编写Jenkins流水线代码

    SublimeText无法直接运行Groovy脚本,需依赖外部环境执行。它为编写Jenkinsfile提供高亮、校验和自动补全,通过安装Grv等插件增强PipelineDSL关键词语法识别。不建议配置构建系统本地执行,验证应依赖Jenkins环境。注意UTF-8编码和空格缩进。

    怎样在CodeIgniter中使用Jenkins_CodeIgniter持续集成服务器【配置】
    怎样在CodeIgniter中使用Jenkins_CodeIgniter持续集成服务器【配置】

    先说句大实话:Jenkins这个工具本身可不认识CodeIgniter,它的大脑里就只有三件事:拉代码、跑命令、发通知。CodeIgniter作为PHP框架,压根儿没有编译这个步骤,所以所谓的“在CodeIgniter里用Jenkins”,说穿了就是——用Jenkins自动去执行你PHP项目里的测试

    Linux怎么安装Jenkins并配置Java环境 Linux自动化部署实战详解
    Linux怎么安装Jenkins并配置Java环境 Linux自动化部署实战详解

    Linux怎么安装Jenkins并配置Ja va环境 Linux自动化部署实战详解 在CentOS 8或者Rocky Linux 8上部署Jenkins,第一步往往就决定了成败:ja va -version的输出必须是1.8,也就是JDK 8。如果版本不对,Jenkins要么启动失败,要么Web界面

    查看更多
    精品专题 更多
    装机必备
    装机必备

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

    Windows
    Windows

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

    PDF教程
    PDF教程

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

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。