Git push deployment on IIS
Now that I’m not just slinging C# all day, there are some interesting new problems. Like PHP hotfixes that need to be deployed to Windows and Ubuntu boxes on a whim. Currently, we’re using WinMerge or even Filezilla to push invidual files across, and I yearn to be able to just do this:
git push live
On the Ubuntu servers, this is easy
On Windows,
- Follow the installation instructions to install Bonobo Git Server
- Create a repository for yourapp in Bonobo
- Create a web application in IIS for yourapp, under eg. c:\inetpub\yourapp
- Grant the IIS_IUSRS group write permissions to this directory.
- Locate your repository in Bonobo’s App_Data folder and add the following in hooks\post-receive
#!/bin/sh
git checkout -f
Also edit the config of the repository, making sure at least the following settings are present:
[core]
bare = false
worktree = /inetpub/yourapp
[receive]
denyCurrentBranch = ignore
Finally, add the remote to your local git repository:
` git remote add yourserver http://admin@yourwindowsserver/yourapp.git `
You’re good to go:
` git push yourserver `