引言
在传统的项目发布部署平台,每一个都是人工操作。每一步的人工操作,都可能会带来不确定的因素。而且,人工操作有时候会比较的耗时。引进自动化部署,可以改善软件的总体质量。在整个项目部署的生命周期内,都使用程序工具,减少人工的干预,提升项目部署的效率。那么,接下来的这篇文章会介绍如何搭建一个简易的自动化项目部署平台,这个平台集成了 Gitea 代码仓库平台、Jenkins 项目构建平台,可以作为中小型团队搭建自动化项目部署平台的参考方案。
架构图
准备工作
首先确保已经安装了 Supervisor 守护进程管理工具、Gitea 代码仓库、Jenkins 构建平台。
如果没有安装,可以参考:
《Supervisor 守护进程管理工具》
《自动化部署平台之 Gitea 代码仓库平台》
《自动化部署平台之 Jenkins 项目构建平台》
通过 Webhook 打通 Gitea 与 Jenkins
1、在 Gitea 中创建项目仓库
2、在 Jenkins 创建一个 Job
3、将 Jenkins 中的 webhook 链接,配置到 Gitea
配置 Token
JENKINS_URL
如果部署在本地,就是 http://127.0.0.1:8080
将 JENKINS_URL/job/zs-cms/build?token=YQWT7OREHcK9zZal51rwBe42yAsmVD38
在 Gitea 项目仓库中设置 Webhook
4、测试 Webhook 通路
在 Gitea 项目仓库中,测试推送功能
通过测试推送,可以看到已经触发了 Jenkins 的 Job 构建。
Jenkins 构建项目到指定服务器
1、安装 Jenkins 插件 SSH
Jenkis --> 系统管理 --> 插件管理。
我这里已经安装了,就不重复安装了。
2、配置服务器信息
Jenkins --> 系统管理 --> 系统配置 --> Publish over SSH
测试服务器连接状态
3、配置 Job 中的参数
Jenkins --> zs-cms --> 构建
向远程服务器执行,远程命令
测试整个构建流程
在本地 push 一个 test.txt 文件,到远程仓库
Jenkins 中产生的构建记录
构建成功的日志
登录到远程服务器,查看新提交的文件
总结
这篇文章主要是介绍了,如何搭建一个简易的自动化的项目部署平台。自动化项目部署平台,一定程度上可以避免人肉部署项目产生的问题。在 Jenkins 创建 Job 时,建议一个环境对应一个 Job,对应一个代码分支,就如架构图中所示一样。当然,这篇文章介绍的都是主要的流程。还有很多需要细化的地方,例如:Gitea 需要配置什么时候触发 Webhook (一般都是合并代码到主要分支才触发)、Jenkins 中任务的构建触发器的配置等等。很多细化的东西,需要结合自身的项目,才能够更好的建设好自动化项目部署平台。