- 通过服务器系统自带git或者其他的方式,例如gogs,搭建git仓库。这里要注意,搭建git仓库时,要创建一个git用户。对于客户端而言,服务器是远端;对于服务器本机而言,就是本机。
在git仓库里,创建一个仓库,用于客户端上传文件使用。通过类似gitlab或者gogs之类工具,这里创建的仓库是在指定的位置。
这一步的操作是在服务器上,记住路径,例如/var/git/testRep。
进入服务器上的部署文件夹,假如是/var/testDeploy,
在该目录下,运行:
git clone /var/git/testRep /var/testDeploy
相当于初始化本地一个库,后续就可以通过git pull来更新文件了
注意:删除已有的文件夹中的文件、删除.git文件夹之后,要切换到git用户之下,使用git用户重新git clone一遍,才可以自动的进行部署,因为部署需要用git用户进行操作,在root做所有的操作,git就没办法把更新的文件部署到发布的目录下面。
在服务器上的仓库/var/git/testRep.git/下面,找到hook文件夹,找到其中的post-receive文件,这个是响应在post的钩子文件,运行这个文件定义的脚本,对这个文件脚本进行编写:
unset GIT_DIR DeployDir=/var/testDeploy/ cd $DeployDir git add . -A && git stash git pull origin master
实现把文件pull部署文件夹,从而实现自动部署。
以上方法步骤,验证通过。