开发者

Web design agency using Git for development

Background

Up until now we've been using Plastic SCM for version control. Recently we've been looking into Git and I've come up with a basic plan - Available here on Google Docs

My plan is to not allow developers to commit or FTP directly to the server, instead we would push our work to either the live or proof hub which would then in turn cause the live / proof workspaces to pull the changes from their respective hub.

One of the main benefits of this methodology in my eyes is that we can keep up to date with user-uploaded content. For example, when a use开发者_开发技巧r uploads an image via our CMS the server will automatically add, commit and push it to the hub the next time a developer pushes some work to the hub. Therefore at any time we can clone either the live or proof repository to a brand new server.

Up until now we've had problems sending work to a client to proof whilst simultaneously uploading new functionality to the live server - the proof work ends up on the live site and all hell breaks lose.

Questions

  1. Do you see any holes in this plan?
  2. Is Git the right thing to use for this kind of structure?
  3. Is there a pre-existing plan that we could use instead?

Thanks in advance.


Take a look at how Heroku and AppHarbour work. You are definitely on the right track.


You should consider using Gerrit - code review engine that also happens to be fully git-compliant git server. Gerrit is written in Java by Google for Android project needs.

You can use review functionality to let content "bake in" in approval queue until it finally gets approved and becomes official (or rejected/reviewed again). At the same time, you can set flexible access permission rules for different people - like somebody can push directly bypassing code review (in which case it becomes just standard git server), or can only submit for review, or approve, or only vote up or down - you set the rules. In case you have multiple git repositories, you can also restrict access to some highly secret repositories from users you do not trust or from 3rd parties.

It is easy to set up, and makes life much easier for admins and for end users as well - ssh key management is automatically provided on Gerrit web interface.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜