1
mongodb 2013-11-08 17:05:09 +08:00
git的代码不要直接用于web目录跑,这个肯定的。
然后,你可以搜索一下git hooks 肯定能找到不少讲如何部署的过程,跟svn hook差不多。你之前那个帖子里人家都说了啊…… 至于服务器端的目录配置问题,这个没有任何经验和技巧可言,爱怎么来怎么来,就跟你办公桌子上爱怎么布置就怎么布置一样,纠结于这个可以去死。 首选通过证书推送。这是我的个人看法。 最后,我想问下,那你之前那个“太太太麻烦而且容易出错”,又是怎么弄的...我比较关心的是这个。 |
2
mengzhuo 2013-11-08 23:50:41 +08:00
1. 可以git 某分支源即生产代码
2. git hook + fabric 3. ssh key是必须的 其实可以用rsync直接同步两边的代码,但是git branch的功能就不能体现出来了 |
3
msg7086 2013-11-09 05:30:46 +08:00
1. 服务端善用bitbucket,如果你刚起步还不太懂架设git repo的话,用现有的服务是比较好的
2. 善用git flow,staging server抓develop或者release,production server抓master hook楼上说了我就不多说了。 |
4
msg7086 2013-11-09 05:36:50 +08:00
看了你之前的帖子,看来你已经用了bitbucket了。
我说下我这边的开发过程吧。 本地做一个virtualbox+share folder,或者直接vagrant,分支管理用git flow,本地开发完测试完再commit,一个项目跑通过以后push到bitbucket上然后创建pull request做代码审阅,简单的分支合并可以自己直接merge,复杂的项目可以让上级审阅,通过了再merge。merge完本地切到develop下pull然后继续开发。 一个milestone做一个release,然后扔给master再从production上pull就行了。 我们现在才进行到staging server阶段,开发是在github上进行的,要做什么事情先开issue,然后开分支,测试完以后用pull request来close issue。等我们到production server阶段了可以再继续交流。 仅供参考 |
5
supersheep 2013-11-09 17:52:53 +08:00
@msg7086 有几个疑问,这里的staging和release分别是指什么阶段?放到github上去是不是就要注意重要配置不能提交这种问题了?
|
6
msg7086 2013-11-09 20:43:43 +08:00
@supersheep 配置肯定不能直接提交啊,要么做sample让用户自己改,要么用环境变量+默认值
staging server的话是指集成测试环境,release branch是发布分支,是直接上生产环境用的版本。 |
7
asing OP 前两天上不了网,来汇报下
现在已经完成bitbucket的ssh配置和管理了。 因为本地开发使用的是win环境和TortoiseGit客户端,参考下面完成了配置 http://guganeshan.com/blog/setting-up-git-and-tortoisegit-with-bitbucket-step-by-step.html 下面是自动化部署的,等下午汇报 @msg7086 @mongodb 关于第一点还望指点下,我现在是把git目录和www目录放到一起了 输入网站后面加/.git/config 就可以看到配置 囧 |
8
msg7086 2013-11-11 12:48:02 +08:00
屏蔽.git访问,可以在webserver层做
|
9
asing OP @msg7086
感谢回复,有些初级的问题还是想麻烦下 我参照http://brandonsummers.name/blog/2012/02/10/using-bitbucket-for-automated-deployments/ 尝试用hooks来管理自动部署,但是还是遇到些问题,特来请教 分支我还是想用2个分支来管理项目,一个master一个deploy master是开发主分支,功能开发完毕后提交到deploy进行自动化发布 还有个问题是权限的问题 一直在测试 https://www.v2ex.com/t/56413 测试一半,明天继续。 |
10
msg7086 2013-11-12 20:16:19 +08:00
不好意思……你的问题在哪……
56413的问题可以参考各大git repo的做法,建立git账户,push的时候经由git账户来读写文件。 pull的话应该还是要以www-data的身份来做才行,要不然的话就需要sudo权限了。 |
11
supersheep 2013-11-15 11:15:33 +08:00
@msg7086 再请教一下从bitbucket到production server的过程是什么样的?自己写webhook,还是用的第三方的发布服务?
|
12
msg7086 2013-11-15 17:16:43 +08:00
|