前言
我们深入学习Git,学习Git自动化部署项目。为什么深入学习git自动化部署?之前我们部署php代码到服务器网站目录,先将本地的代码全部提交到github仓库,这个时候要让服务器上的代码更换成你提交的,那你就得登录到服务器做一次git pull origin master 的操作。有什么方法能让这一步自动操作了呢?这个时候我们就使用到了Git 钩子了!!
官网解释:和其它版本控制系统一样,Git 能在特定的重要动作发生时触发自定义脚本。 有两组这样的钩子:客户端的和服务器端的。 客户端钩子由诸如提交和合并这样的操作所调用,而服务器端钩子作用于诸如接收被推送的提交这样的联网操作。 你可以随心所欲地运用这些钩子。
简单来说就是一个在特定环境下触发的脚本。也就是说我们把服务器要拉取我们更新的代码这一步自动触发,自动拉取到最新。
二、利用钩子实现项目自动化部署
1、创建 git 用户
登录服务器,这里默认你已经安装好了 git。创建一个 名叫chenglin 的git 用户:
adduser chenglin
2、给 git 用户添加权限
#在根目录下的 home 文件夹下创建一个git文件夹
mkdir /home/git
#切换到创建好的git文件夹
cd /home/git
#创建 .ssh文件夹,里面主要用来放公钥
mkdir .ssh
#切换到.ssh文件夹并创建authorized_keys文件
cd .ssh
touch authorized_keys