Jenkins构建前后端项目:从零开始的自动化部署实践

内容分享2个月前发布
0 3 0

引言:为什么需要自动化部署?

在现代软件开发中,前后端分离已成为主流架构模式。前端负责用户界面交互,后端提供数据服务和业务逻辑,两者通过API进行通信。不过,随着项目规模扩大,手动部署前后端项目变得越来越繁琐且容易出错。开发人员常常需要在不同环境中反复执行一样的部署步骤,这不仅浪费时间,还增加了人为失误的风险。

Jenkins作为一款开源的持续集成和持续交付(CI/CD)工具,能够协助团队实现自动化构建、测试和部署流程。通过Jenkins自动化部署,我们可以将整个部署过程转化为代码,实现”基础设施即代码”的理念,大大提高开发效率和部署质量。

Jenkins构建前后端项目:从零开始的自动化部署实践

Jenkins基础:从概念到实践

Jenkins是一个强劲的开源自动化服务器,它通过插件扩展功能,支持从代码构建到部署的全流程自动化。这种做法有诸多优势:

  • 版本控制:流水线代码可以像应用代码一样存储在Git仓库中,便于版本管理和团队协作
  • 可重复性:一样的流水线可以在任何Jenkins实例上运行,确保环境一致性
  • 可维护性:相比Web界面配置,代码形式的流水线更易于阅读和维护
  • 复杂流程支持:能够实现更复杂的构建和部署逻辑

在前后端分离的项目中,部署过程一般涉及多个步骤:

  • 前端:需要编译静态资源(如HTML、CSS、JavaScript),生成可部署的文件
  • 后端:需要编译代码、打包成可执行文件(如JAR、WAR),并部署到服务器
  • 环境管理:需要在开发、测试、预发和生产等不同环境中部署
  • 依赖管理:确保前后端版本匹配,避免因版本不一致导致的问题

手动完成这些步骤不仅耗时,而且容易出错。例如,前端开发人员可能在本地编译了最新版本,但后端部署时却使用了旧版本的API,导致前端功能无法正常工作。

Jenkins自动化构建和部署

1、通过新建Item,我们可以选择从新构建一个项目,或者复制之前构建的项目模板

Jenkins构建前后端项目:从零开始的自动化部署实践

2、在General配置中,输入描述和日志保留策略

Jenkins构建前后端项目:从零开始的自动化部署实践

3、源码管理中,输入连接的仓库地址和要构建的分支名称,需要输入调用凭证

Jenkins构建前后端项目:从零开始的自动化部署实践

4、构建触发器,这里我们可以设置一些触发的节点

Jenkins构建前后端项目:从零开始的自动化部署实践

5、构建环境就是项目打包需要运行的环境,前端需要node环境,后端需要Java和maven的环境

Jenkins构建前后端项目:从零开始的自动化部署实践

6、然后就是构建,构建就是打包操作,可以使用脚本来操作

Jenkins构建前后端项目:从零开始的自动化部署实践

Jenkins构建前后端项目:从零开始的自动化部署实践

7、构建的包,我们可以通过Jenkins集成SSH,把包传到对应的服务器上,然后在对应服务器执行脚本

Jenkins构建前后端项目:从零开始的自动化部署实践

8、构建后的操作,就是做一些邮件通知或者企微通知之类的事情

Jenkins构建前后端项目:从零开始的自动化部署实践

9、点击立即构建,可以看到详细的日志输出

Jenkins构建前后端项目:从零开始的自动化部署实践

通过以上的操作,Jenkins助力项目自动化构建和自动化部署就完成了!除了以上的构建方式,Jenkins还支持通过流水线设计来构建项目,需要通过Jenkins的脚本语言进行构建,如下:

pipeline {
    agent any
    stages {
        stage('Checkout Code') {
            steps {
                checkout([
                    $class: 'GitSCM',
                    branches: [[name: '*/main']],
                    userRemoteConfigs: [[
                        url: 'https://gitlab.example.com/project.git',
                        credentials: 'gitlab-credentials'
                    ]]
                ])
            }
        }
    }
}

Jenkins流水线暂不做详细介绍,想要了解更多,也可以通过官网的介绍https://www.jenkins.io/:

Jenkins构建前后端项目:从零开始的自动化部署实践

© 版权声明

相关文章

3 条评论

  • 头像
    韩维辰_hwc 投稿者

    我的Jenkins选择某个目标IP服务器进行发布,指定测试、预发、正式环境进行发布,win、Linux系统发布,指定版本号进行发布或者回滚到上一个历史版本,前端、后端项目发布,你的吗?

    无记录
    回复
  • 头像
    潘有财_ 投稿者

    关键配置怎么还打码

    无记录
    回复
  • 头像
    部落冲突Clash-of-Clans 投稿者

    收藏了,感谢分享

    无记录
    回复