打造自动化项目部署的平台

引言

在传统的项目发布部署平台,每一个都是人工操作。每一步的人工操作,都可能会带来不确定的因素。而且,人工操作有时候会比较的耗时。引进自动化部署,可以改善软件的总体质量。在整个项目部署的生命周期内,都使用程序工具,减少人工的干预,提升项目部署的效率。那么,接下来的这篇文章会介绍如何搭建一个简易的自动化项目部署平台,这个平台集成了 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 中任务的构建触发器的配置等等。很多细化的东西,需要结合自身的项目,才能够更好的建设好自动化项目部署平台。

相关参考

posted @ 2020-11-29 16:35  Yxh_blogs  阅读(2951)  评论(0编辑  收藏  举报