自己实现一个简单的 DevOps 工具系列(后端篇)- 1
什么是 DevOps
DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
背景
由于本人在内网开发,类似 Jenkins、tekton 这些 CI/CD 的工具平台,我是很难用到,需要代理配置,所以我个人写了一个简单的 CI/CD 工具,给自己使用,也供大家参考。
需要用到的工具以及语言
版本控制:git
打包和构建工具:maven
框架:spring Boot
脚本语言:shell
思路
由客户端将代码 push 推送到 git 仓库,git 里面配置 hooks 里面的 post-update 文件。我一般写 shell,而不是在里面直接写,当推送的时候会触发 post-update 脚本文件。开始从 mvc 单元测试、构建代码,之后 生成一个 jar。通过 docker-compose 来更新服务。完成一个简单的编译构建。
实现如下
首先初始化一个线上仓库
进入 demo.git 文件里面 hooks,修改 post-update.sample 文件。具体作用看 自定义 Git - Git 钩子。vi post-update。同时将 exec git update-server-info 注释掉。
post-update 内容
工程目录
compose 里面的 yaml 文件,我一般是跟项目名字,也呼吁 post-update 里面内容。当然你自己也可以修改。相对应的也要修改 post-update 。
yaml 内容
之后,将服务 git clone ssh://root@localhost:22/root/demo.git 到本地,和项目做关联。
效果如下
提交代码之后效果
服务直接更新
不足以及更丰富
同目录底下不能多个 xxx.git 文件夹
没有流水线
可以更新代码审查
UI 界面设置
代码管理
之后有会不定期更新这个系列,完善这个devops工具。多了之后做一个开源项目,感谢观看。
声明
作者: Sinsy
本文链接:https://blog.sincehub.cn/2020/09/21/finish-devops-1/
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文声明。
如您有任何商业合作或者授权方面的协商,请给我留言:550569627@qq.com
引用
版权声明: 本文为 InfoQ 作者【sinsy】的原创文章。
原文链接:【http://xie.infoq.cn/article/77a0aabd0ce6a13700efa5005】。文章转载请联系作者。
评论