jakubgarfield / Bonobo-Git-Server

Bonobo Git Server for Windows is a web application you can install on your IIS and easily manage and connect to your git repositories. Go to homepage for release and more info.
http://bonobogitserver.com
MIT License
1.81k stars 603 forks source link

Chocolatey package #566

Open alexchandel opened 8 years ago

alexchandel commented 8 years ago

Bonobo should have a package for Chocolatey. This would hugely simplify installation and updates, and increase Bonobo's visibility, since there currently aren't any packages that provide a useful Git server. I believe the dependency on IIS can also be expressed in chocolatey.

The install script should be able to extract the files to C:\inetpub\wwwroot, change the permissions for C:\inetpub\wwwroot\Bonobo.Git.Server\App_Data, and make Bonobo.Git.Server an IIS application. Moreover chocolatey allows for different upgrade actions, including not deleting the App_Data folder.

digitalcoyote commented 5 years ago

I can probably get a Chocolatey package together. I've not used Appveyor before personally, but I assume it's possible to publish this when new versions are released. Would the maintainer(s) be willing/able to add a post-build/post-release task could be added to publish it to the Chocolatey Repository?

willdean commented 5 years ago

If you could make a reliable IIS install, and work out whatever magic is needed to build that package at build-time, then I don't see a reason not to add it. Trying to help people with the million-and-one ways in which a .NET application install on IIS can fail to work is a complete pain for the project.

digitalcoyote commented 5 years ago

I'll focus on latest win 10/IIS from fresh install and then work through any other install scenarios I can find.

digitalcoyote commented 5 years ago

I have a package that completes the install (based on the install instructions) working. I'll be working on allowing various options to be overriden via chocolatey arguments next and then I'll take a look at some script or something to automate packing/publishing.

digitalcoyote commented 5 years ago

According to Chocolatey's documentation for automatic package updating, they recommend using a separate repo that watches for the release (digitalcoyote/au-packages). This avoids changing your current release process, but would require a maintainer to setup an account with Chocolatey to publish the packages.

I could finish setting up my test environment and publish the packages from my repository (still pulls from official Bonobo Releases) using my own Chocolatey account. (I've got some other packages I'd like to setup anyway, and the template they use is built for maintaining multiple packages).

Or I can change the installer to bundle in the zip file produced at release. Then some script would be needed to make sure the versions are patched in correctly before publishing.

digitalcoyote commented 5 years ago

I've got a package awaiting approval on Chocolatey. If the maintainers here decide they want control of the packaging repo, I'll add take the necessary actions to transfer the repositroy and the package to their control. Otherwise, I have AppVeyor setup to keep it up to date and I'll work on a PR with some Chocolatey installation instructions and option explanations.

willdean commented 5 years ago

Sound great. Will you still need someone (me, I guess) to create a Chocolatey account for the Bonobo project?

digitalcoyote commented 5 years ago

That would be ideal. I submitted the initial package for approval already, but if you have an account, I can add you as a maintainer and that account will be able to push updates (should auto update, but if a release is skipped, you can manually push it as well) and manage the package if the need arises