引言:为什么需要自动化部署?
在现代软件开发中,前后端分离已成为主流架构模式。前端负责用户界面交互,后端提供数据服务和业务逻辑,两者通过API进行通信。不过,随着项目规模扩大,手动部署前后端项目变得越来越繁琐且容易出错。开发人员常常需要在不同环境中反复执行一样的部署步骤,这不仅浪费时间,还增加了人为失误的风险。
Jenkins作为一款开源的持续集成和持续交付(CI/CD)工具,能够协助团队实现自动化构建、测试和部署流程。通过Jenkins自动化部署,我们可以将整个部署过程转化为代码,实现”基础设施即代码”的理念,大大提高开发效率和部署质量。

Jenkins基础:从概念到实践
Jenkins是一个强劲的开源自动化服务器,它通过插件扩展功能,支持从代码构建到部署的全流程自动化。这种做法有诸多优势:
- 版本控制:流水线代码可以像应用代码一样存储在Git仓库中,便于版本管理和团队协作
- 可重复性:一样的流水线可以在任何Jenkins实例上运行,确保环境一致性
- 可维护性:相比Web界面配置,代码形式的流水线更易于阅读和维护
- 复杂流程支持:能够实现更复杂的构建和部署逻辑
在前后端分离的项目中,部署过程一般涉及多个步骤:
- 前端:需要编译静态资源(如HTML、CSS、JavaScript),生成可部署的文件
- 后端:需要编译代码、打包成可执行文件(如JAR、WAR),并部署到服务器
- 环境管理:需要在开发、测试、预发和生产等不同环境中部署
- 依赖管理:确保前后端版本匹配,避免因版本不一致导致的问题
手动完成这些步骤不仅耗时,而且容易出错。例如,前端开发人员可能在本地编译了最新版本,但后端部署时却使用了旧版本的API,导致前端功能无法正常工作。
Jenkins自动化构建和部署
1、通过新建Item,我们可以选择从新构建一个项目,或者复制之前构建的项目模板

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

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

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

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

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


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

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

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

通过以上的操作,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选择某个目标IP服务器进行发布,指定测试、预发、正式环境进行发布,win、Linux系统发布,指定版本号进行发布或者回滚到上一个历史版本,前端、后端项目发布,你的吗?
关键配置怎么还打码
收藏了,感谢分享