团队如何正确的对git进行部署

查看:197
本文介绍了团队如何正确的对git进行部署的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

本人学生党,现在和几个同学一起开发,打算用git

目前git搭建好裸仓库了,并且hooks可以自动同步到web项目中.

由于服务器上的代码不是仓库,现在想要将原先另一个服务器上的代码导入到裸仓库上,然后供团队成员去pull。该如何做?自己想到的办法就是先将代码拉到本地,然后再从本地push到中央仓库,由于做了自动同步,所以中央仓库则自动将push的代码同步到web项目。但个人感觉应该有更好的方法。求告知?

还有就是一般git的使用仓库是整个项目吗?还是项目中的部分?如果是整个项目,用户上传图片那岂不是每次更新还要将上传的图片更新到本地。

查了挺久资料的,也很少讲这方面的,求各位大神详解。

===========================

您好,就现在我们团队在项目中出现了一个问题就是,由于5.1期间项目出了个bug,有个同学在家里修改了bug,但他的电脑没装git,所以使用ftp上传了。现在由于使用ftp上传所以没有使用到中央仓库自然就没有触发到hooks的post-reveice也就不会push到网站项目中(有点绕,望大神能理解),所以现在使用git就无法获取拉取到他所上传的那一部分。所以现在的问题就是我要写多一个hooks,网站项目上的一旦改变(如果是ftp上传的)则pull到中央仓库,然后本地才能获取。做到中央仓库和网站项目能双向同步。可能我们这种做法不太好,但是目前暂时只能这么做,当然也希望大神回答是顺带提供下好的方法。再次谢过

解决方案

问题描述的不是很清楚,就我理解的简单说一下。

迁移代码的方法没问题。
一般git使用的仓库是整个项目,可能会包含一些submodule。
你说的用户上传图片其实是另一个问题,你是不是把git项目的仓库同步到服务器上当做web项目的目录来用了?

如果是的话会有点小问题,首先比较好的做法是git仓库只用来开发,至于发布部署web项目使用jenkins之类的工作来做,具体的流程是:

  1. 项目开发人员通过操作来触发github的webhook,比如push代码、打tag等。

  2. github根据webhook配置请求你的部署工具,通知你的部署工具来进一步执行发布的动作。

  3. 部署工具pull下来最新的代码到代码目录,通过脚本或者命令来打包web项目,生成一个新的web项目目录,发布到服务器。
    这样的话用户的图片上传到了服务器中的项目目录,而不是git代码目录,也就不用担心更新上传图片的问题。

另外用代码仓库作为web项目来发布还可能会有安全问题,如果访问权限控制不好别人可能会获取到你git项目里面的文件,可能会泄露一些信息。

这篇关于团队如何正确的对git进行部署的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆