通过git自动部署WEB服务上的PHP代码,提交即生效
通过git自动部署,可以不用登录服务器,git push后代码即刻生效,有问题还可以随时回退版本,安全方便。另外还相当于git仓储的一个copy,不怕丢失,损坏,充分发挥了git分布式版本控制的特点。
配置好LNMP环境,比如webroot路径 /srv/html/website
Linux Server上添加git账号,进入/home/git 下,创建repo目录
~~~.bash
adduser git
su - git && cd ~
mkdir repo
~~~
repo目录下创建git仓储 webapp.git
~~~.bash
cd repo && mkdir webapp.git
cd webapp.git && git init --bare
~~~
修改webapp.git/config,根据你的实际情况修改worktree, 如下:
~~~.bash
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
worktree = /srv/html/website
denycurrentbranch = ignore
~~~
修改webapp.git/hooks/post-receive
~~~.bash
#!/bin/sh
echo "=> update source code to the latest"
git checkout -f
~~~
注意git账号权限,并保证web server有正确的读写权限,不知道可以chmod -R 777
~~~.bash
chown git:git /srv/html/website
~~~
以上都是在server端完成,只有此处是本地完成。git push提交你的本地代码,提交后的代码,会自动更新/srv/html/website下的代码
~~~.bash
git remote add origin ssh://git@xxx.xxx.xxx.xxx:/home/git/repo/webapp.git
git push origin master
~~~
页:
[1]