We have used Git for deployment over the past 6 months.
Here is the whole process:
- CI server will build a project
- CI server checks it on local Git repository
- CI server redirects changes to a centralized Git repository
- User creates an empty repository on a real server
- User Adds Central Git Repository to Remote Controls
- The user downloads the latest version via https (no need to open any ports)
At the beginning there are a lot of settings, but after tuning it works fine. Deployment takes seconds, since only modified files are copied. Another great thing about this method is that Git saves the change history, so rollback is pretty simple. You can also undo several changes and do it directly on the real server. If something goes wrong, the return will return very quickly.
You can also save some time if you use the hosted Git service (github) for your central repository.
This is a very brief description, but I can give you more information if you want.
marto source share