利用Git hooks实现自动化部署

 2016-12-19 21:25:07     Git   1383



通过Git hooks,可以实现服务的自动化部署,提高效率。

假设一个公司有员工A和员工B,正式环境在外网服务器上,Gitlab和测试环境在内网服务器。我们要实现员工用Git提交代码后,代码自动提交到内网和外网服务器,同时,完成相关服务器上代码的自动更新和服务的自动启动。

阅读全文

Git hooks文档

 2016-12-19 21:25:07     Markdown  Git   678



Git hooks具有在特定事件发生之前或之后执行特定脚本代码功能(与程序开发中的监听事件、触发器之类的东西类似)。

Git Hooks就是那些在Git执行特定事件(如commit、push、receive等)后触发运行的脚本。

有了hooks,我们可以实现很多智能、自动化的工作,简化人工的操作,提高效率。例如:实现项目的自动化部署、项目变更提醒等。

Hooks都被存储在 Git 目录下的 hooks 子目录中。 也即绝大部分项目中的 `.git/hooks` 。当你用 `git init` 初始化一个新版本库时,Git 默认会在这个目录中放置一些示例脚本。这些脚本除了本身可以被调用外,它们还透露了被触发时所传入的参数。这些示例的名字都是以 `.sample` 结尾,如果你想启用它们,得先移除这个后缀。

需要注意的是,克隆某个版本库时,它的客户端钩子并不随同复制。 如果需要靠这些脚本来强制维持某种策略,建议你在服务器端实现这一功能。

阅读全文