self hosted web-based git repository managers

24
Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential. http://www.aspiresoftware.in Self-Hosted (SH) Web-based Git Repository Managers By Dhaval Shah

Upload: purav-gandhi

Post on 12-Apr-2017

439 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.http://www.aspiresoftware.in

Self-Hosted (SH) Web-based Git

Repository Managers

By Dhaval Shah

Page 2: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

List of self hosted git server

☞GitLab

☞BitBucket

☞GitHub Enterprise

☞GoGits

Page 3: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

GitLab...

Page 4: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

GitLab Features

☞ GitLab Inc. is a company based on the GitLab open-source

project. GitLab is an application to code, test, and deploy code

together. It provides Git repository management with fine grained

access controls, code reviews, issue tracking, activity feeds, wikis,

and continuous integration.

☞ GitLab Inc. has 4 product offerings:

GitLab Community Edition (CE)

GitLab Enterprise Edition (EE) - paid, self hosted

application, comes with additional features and support

GitLab.com - free SaaS for public and private repositories,

support can be purchased

GitHost.io - a private single-tenant GitLab instance run by

us

Page 5: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

GitLab Pros

Pros

☞ Snippets to share code

☞ Integrated issue tracking

☞ Includes many features, including CI (Continuous Integration)

☞ Super-powered search using ElasticSearch

☞ Mention JIRA ticket from GitLab

Page 6: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

GitLab Cons

Cons

☞ Most of the features available in enterprise edition which is not

available for free

☞ Heavy resource usage

☞ Search functionality is not that refined

☞ Hard to configure

Page 7: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

Bitbucket...

(Stash)

Page 8: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

Bitbucket Features

☞ Bitbucket Server (previously Stash) is a self-hosted git repository

manager which can be used as an alternative to Github.

☞ It's built with a focus on enterprise teams by the same company

that built Bitbucket.

☞ Get unlimited private and public repositories with Bitbucket.

Bitbucket Cloud is free for small teams of 5.

Page 9: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

Bitbucket Pros

Pros

☞ Issue tracking with JIRA and integration with Bamboo and

HipChat

☞ Backed by an established company with amazing support

☞ Stash is backed and developed by Atlassian, an established and

world-class software company with a great history of customer

support.

☞ Stash is cross-platform

☞ Stash has a great permission system

Page 10: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

Bitbucket Pros

Pros

☞ Global Permissions: Decide who can log in, who the system

admin is, etc…

☞ Project Permissions: Read, write, and admin permissions at the

project level.

☞ Repository Permissions: Read, write, and admin permissions on a

repository level.

☞ Stash installation is very easy and there are install wizards for

Windows, Linux and OSX. There are also a lot of tutorials and

guides that cover the installation process and more.

Page 11: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

GitLab Cons

Cons

☞ It doesn't have the ability to edit files from the browser

☞ In Stash you can't edit files in the Web UI out of the box. You have

to buy an additional plugin for that.

☞ Paid

☞ No code search functionality

☞ Git only

Page 12: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

GitHub

Enterprise...

Page 13: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

GitHub Enterprise Features

☞ GitHub Enterprise was built to bring the power of GitHub to self-

hosted solutions for Git repositories.

☞ GitHub Enterprise is the on-premises version of GitHub.com. With

flexible deployment options, centralized permissions, and

hundreds of integrations, you and your team can enjoy the best

parts of working with GitHub without compromising on the

features your business needs.

Page 14: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

GitHub Enterprise Pros

Pros

☞ Code search

☞ Inline editing

☞ @mentions

☞ Image diffs

☞ Fork permissions

☞ Amazon AWS Hosting Options

☞ Backups

Page 15: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

GitHub Enterprise Cons

Cons

☞ Expensive

GitHub Enterprise may be quite expensive for small

startups on a budget. It was built for enterprises and large

companies to use.

☞ Update cycle lags behind public GitHub

GitHub Enterprise may be quite expensive for small

startups on a budget. It was built for enterprises and large

companies to use.

Page 16: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

Gogs...

Page 17: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

Gogs Features

☞ Easy to install - Simply run the binary for your platform. Or ship

Gogs with Docker or Vagrant, or get it packaged.

☞ Cross-platform - Gogs runs anywhere Go can compile for:

Windows, Mac, Linux, ARM, etc.

☞ Lightweight - Gogs has low minimal requirements and can run on

an inexpensive Raspberry Pi. Some users even run Gogs

instances on their NAS devices.

☞ Open Source and free

Page 18: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

Gogs Pros

Pros

☞ Gogs has excellent performance and efficiency

The fact that it's written in Go means that it has excellent

performance even with little resources (less RAM for

example).

☞ Simple installation

The installation process is very simple, just a binary file that

needs to be run on the directory where the user wants to

install Gogs

☞ Cross-platform compatibility

☞ Easy configurable

Page 19: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

Gogs Cons

Cons

☞ Does not provide feature of code search, code-snippet

☞ In code review does not providing commenting for commit

☞ No File history feature

☞ Pull request support from same repo only not from forked repo

☞ Not supported @mention in comment or issue

☞ Hard to configure for port 80

Page 20: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

Which one

should I use...

Page 21: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

Which one should I use ?

If you have large enterprise and you need all feature from git hook to

continuous integration then you should try gitlab or github or

bitbucket.

☞ Github provides feature of setting up in amazon aws from which

you can easily scale up the server.

☞ GitHub provides installation to various cloud providers or a VM

that you can run on your own servers.

☞ Unlike GitHub, GitLab can be installed on virtually any

hardware/OS/CM combination.

☞ In Gitlab pricing for the enterprise edition is reasonable (several

times lower than with GitHub) and support most of the features

provided by github

Page 22: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

Problems faced during Gogs setup ?

Proxy pass

Since other application are already running on port 80 it require me good

amount of time to configure Gogs server for port 80 (I preferred with

apache virtualhost and added proxypass like as below).

ProxyPreserveHost On

ProxyPass /

ProxyPassReverse /

Mailing for git hook on each push

Since configuration can’t be changed directly for git repo after setup, it

require us to configure directly in git post-receive hook inline to setup

mailing list and mail header, body.

Page 23: Self Hosted Web-based GIT Repository Managers

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.

Why should one use Gogs as Self Hosted Git server ?

☞ Gogs is very lightweight and easy to setup, cross-platform and

configurable.

☞ You don’t need whole day to setup Git Server, just download

binary file, run it and it’s done !!

☞ It’s providing all basic features for Git Server, free and open

source.

☞ Easy setup and upgradable.

Page 24: Self Hosted Web-based GIT Repository Managers

Thank You

Copyrights © 2015. Aspire Software Solutions. All Rights Reserved. Aspire Confidential.http://www.aspiresoftware.in