How to Make a AutoBuild System with Git Server
今天给大家分享一下最近自己的成果, 折腾了一个autobuild系统, 如果您和我有同样的需求, 不妨跟随我一起搭建一个这样的系统, easy and simple, have fun :) Why: 事情是这样开始的, 我自己的项目放置在github上, 这是一个linux项目, 然而我所用来开发的机器是mac, 它不能用来编译所有的模块, 每次我都需要push提交之后, 再去server上pull下来, 然后编译看看结果, 这个过程我持续了一阵子之后再也忍受不了了, 我想要一个这样的系统: 1. 当我push提交之后, 他能实时的反馈给我编译的结果, 就像本地编译一样 2. 运行test unit, 并将结果实时反馈给我 3. 随后发送一封邮件到我的邮箱内, 包含编译结果以及test unit运行结果 4. 而这次的提交仅仅是为了测试集成的效果, 而不影响真正的版本库主干 How: 目的明确后, 我想到了git hook, 这里面的hook有一个可以满足我的需求– post-receive, 这是一个server端的hook(shell脚本), 每当接收到applypatch后都会调用一次并将输出结果反馈给client, 接下来我们将开始利用这个hook搭建这套系统. 首先我们来看一下工作流程(如下图): 图1 WorkFlow 简单的描述一下这个流程, 相对还算清晰简洁, 找一台可以用作build的机器, 建立一个git bare repo 用于接受提交, a clone repo for … Read more