4
  • Edited with Answer -

Q: We would like to run a three-tier programming git structure here at work. Programmers would be able to use Git on their local machine, clone push and fetch from a remote repository running on a "Production" virtual machine, and then finalized code on the "Production" VM is then pushed to a "Deployment" machine for use.

We're using Windows Server 2012 R2 and I am coming up with very little information on how to do this. I installed the latest Bonobo git server on the "Deployment" machine and have been testing cloning on the "Production" machine from the command line and nothing is working. It doesn't see the repository on the remote VM.

Does anyone have any information on using multiple machines on an IIS network with Git? Is Bonobo even intended for this purpose? Or is it simply a web-interface for a localhost hosted git?

A: After Will pointed me to use the browser for testing I remembered when looking at the URL that I had bound the IP address to a sub-directory within the wwwroot directory, which is why it couldn't find the .git file. I de-bound the IP address from the subdirectory and re-bound the IP address to the "Default Web Site" in IIS. After I did this it could find the Bonobo.Git.Server sub-directory and I was able to clone the repo on the "Production" Machine from the "Deployment" machine. Thanks, Will!

  • Are you referring to a continuous integrated solution? GIT is used for source control. Not testing/packaging/deployment. – Oxymoron Feb 06 '17 at 20:29
  • I'm not entirely sure that I am. It would be nice to have a simple solution to self-host a git server on Windows IIS and have it accessible as a remote repo by IP by different machines on our network. This maybe a continuous integrated solution, but to me it just seems like a common-sense thing to have around. It looked like this is what bonobo was created for, but following the installation instructions to a T that's not how it worked out. –  Feb 06 '17 at 21:05

1 Answers1

3

I don't see any reason why Bonobo shouldn't help you with this - it basically does two things using IIS and Git:

  1. Allow you to remotely access git reposistories using an HTTP/HTTPS conversation with an IIS server
  2. Provide a web based front end (like a very, very, slimmed down version of GitHub) which lets you handle the admin of Bonobo (users, permissions etc) and also view your repository content via a web browser.

You'll have to install Bonobo on both your 'production' and your 'deployment' machines, and the two Bonobo servers won't know about each other or communicate with each other - your developers will have to set both servers as remotes and push to them appropriately, or you'll have to arrange some other automated process which does this.

Will Dean
  • 39,055
  • 11
  • 90
  • 118
  • It sounds great and exactly what I've been looking for - but it doesn't work. I have bonobo installed on both machines and it's working fine on each of them individually. On the production server I have a TestRepo.git and bonobo gives the URL it says to use, but if I open the command line on the deployment server and type "git remote add [alias] [IP Address]/TestRepo.git" it gives a fatal error "Not a git repository". I've tried "saying this" a number of ways, and none of them work. And the bonobo website is not helpful at all in determining what the issue may be. –  Feb 06 '17 at 23:07
  • The remote should look like `git remote add [alias] http://ipAddress/TestRepo.git` – Will Dean Feb 06 '17 at 23:21
  • When you say 'it's working fine on each of them individually', do you mean you can get to the web interface while locally on each machine? Or something else? – Will Dean Feb 06 '17 at 23:23
  • Hi Will, thanks for the help. I've used the http variant you suggested and a number of others, none have worked. I just retried the one you listed above and again it's a fatal error - "Not a git repository : .git" Yes, I can get to the web interface on both machines individually. I can access both on their respective machines and create/remove repos either from the web interface or the command line. –  Feb 06 '17 at 23:27
  • Make sure you can get to the web interface remotely too using an ordinary web browser - you may find the web browser gives you more useful diagnostics than git.exe does (though you can turn them on in git.exe too). – Will Dean Feb 06 '17 at 23:37
  • Thanks for the tip. I hadn't thought of that - when I try from the browser I get a 404 error. Wait a second - it appears as if the root IP points to a sub-directory and not the main wwwroot directory. I'll be looking into this for a bit and will report back. –  Feb 06 '17 at 23:53