开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

git web开发版本管理

简介:
+关注继续查看

使用git来管理web开发;

我们需要做的事情 :

1,在服务器建立版本仓库;

2,在服务器建立稳定版本的站点,编写版本仓库的hooks;

3,在开发服务器上提交开发版本;

 

下面一步一步来:(注意建立新用户,如git)

1,在服务器上建立版本管理仓库;假定目录为 /git/,切换到该目录下;建立一个工程

1
2
cd /git/mkdir project.git
git init --bare

2,在服务器上建立稳定版本的站点,例如目录是 /home/www ; 下面是重点,写钩子hooks:

1
2
3
4
cd /git/project.gitcp hooks/post-receive.sample hooks/post-receive
vim hooks/post-receive
#加入下面代码
GIT_WORK_TREE=/home/www git checkout -f

 

3,在开发服务器上提交开发版本;假设目录为/git/project/

1
2
3
4
5
6
ssh-keygenssh-copy-id -i ~/.ssh/id_rsa.pub git@yourserver
git init
git add *
git commit -a -m "init a version"
git remote add origin git@youserver:/git/project.git
git push origin master

这个时候,查看一下 /home/www下,文件应该已经更新了...

这种方法在生产服务器上也建立了版本管理,这样会消耗服务器资源,还可以带来源代码泄露(例如某个开发版本将密码都写了进去,后果不堪设想)等其他安全隐患,所以在后面的开发中,我们采用了Git+Rsync的架构,内网开发服务器架设GitLab进行源代码管理 ,同时搭建rsync客户端进行代码同步;生产服务器只使用Rsync服务端监听端口接收同步请求。

     GitLab的搭建可以参考:https://www.abcdocker.com/abcdocker/2041 

 写一个shell脚本或者使用php进行网页命令调用来同步代码是一个很不错的想法,我们用的是php执行shell命令来进行同步的。

 


 

  另外,如果想在多台生产服务器上进行代码同步,可以使用rsync+inotify进行实时同步,这样,在内网开发服务器向一台主服务器同步代码后,inotify监控脚本可以同步其他生产服务器,同步。











本文转自 蓝叶子Sheep 51CTO博客,原文链接:http://blog.51cto.com/dellinger/1957931,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Git命令使用总结
1.在GitHub上创建了一个新项目,如何将本地的一个工程上传上去 1) copy github项目地址 2) 在android studio中打开terminal命令行,执行命令将本项目所有代码添加 git add * 3)执行命令提交 git co...
1074 0
git初学常用命令解析
<div class="markdown_views"> <h1 id="git初接触核心指令">git初接触核心指令</h1> <h2 id="1-配置git的基本信息">1. 配置git的基本信息。</h2> <p>在每次提交时都会引用这两条基本信息,标识更新提交者,会随更新一起保存在log中 <br><code>git config –-global user.n
1527 0
Git常用命令
<span style="color:rgb(51,51,51); font-family:Arial; font-size:14px; line-height:28px">1. Git概念 </span><br style="color:rgb(51,51,51); font-family:Arial; font-size:14px; line-height:28px; padding:
1086 0
git命令大全
<p></p> <h3 style="margin-bottom:15px; line-height:1.7; font-size:1.5em; margin-right:0px; margin-left:0px; padding:0px; position:relative; color:rgb(51,51,51); font-family:Helvetica,arial,freesa
1316 0
+关注
20377
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载