免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3280 | 回复: 0

[其他] 通过git自动部署WEB服务上的PHP代码,提交即生效 [复制链接]

论坛徽章:
0
发表于 2016-09-08 10:46 |显示全部楼层
通过git自动部署,可以不用登录服务器,git push后代码即刻生效,有问题还可以随时回退版本,安全方便。另外还相当于git仓储的一个copy,不怕丢失,损坏,充分发挥了git分布式版本控制的特点。

配置好LN[A]MP环境,比如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
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = true
        worktree = /srv/html/website

[receive]
        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:[port]/home/git/repo/webapp.git
git push origin master
~~~

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP