The Wayback Machine - https://web.archive.org/web/20140413033516/https://github.com/blog/category/enterprise
Skip to content

OctoTales • DeNA

Fresh from the streets of Tokyo, Japan, we're excited to share our latest video in the OctoTales series. This episode features DeNA, creators of the mobile gaming platform, Mobage.

DeNA has been using GitHub Enterprise since 2012 to build and ship software across offices in seven countries. DeNA's team of developers relies on real-world user research and a culture of collaboration to build a platform that brings 40 million users together through mobile games.

If you would like to be a part of the OctoTales series, tell us your story at tales@github.com.


OctoTalesシリーズではGitHubを活用している会社を紹介しています。今回はモバイルゲームプラットフォームのモバゲーを開発しているDeNAを東京から特集するOctoTaleです。

DeNAは2012年から7カ国にあるオフィス間のコラボレーションのためにGitHub Enterpriseを利用しています。DeNAで活躍している開発者の皆さまはユーザーリサーチとコラボレーションの文化を基礎にしてモバイルゲームを通じて4千万人のユーザーが繋がるプラットフォームを構築しています。

OctoTalesに参加したい企業は tales@github.com までご連絡をください。

More Enterprise support in GitHub for Mac

To help kick off the new year, we're happy to announce that GitHub for Mac now supports CAS authentication with GitHub Enterprise as of version 11.10.328 or later!

The sign-in process is almost exactly the same. Open GitHub for Mac's Preferences, switch to the “Accounts” tab, and then enter the URL for your GitHub Enterprise server:

Accounts tab before sign in

If your server uses single sign-on, the username and password fields will be automatically grayed out, and clicking “Sign In” will open your web browser to finish the process.

Upon success, you'll be redirected back to GitHub for Mac, now signed in:

Accounts tab after sign in

If you run into any problems signing in, or have any comments or suggestions, please contact support.

Enjoy! :rocket:

GitHub Enterprise 11.10.320 Release

We've been working hard over the last few months, and are happy to announce the latest release of GitHub Enterprise. It includes some exciting new Enterprise-specific features, as well as a set of features integrated from GitHub.com.

Repository Next

GitHub Enterprise now includes a new UI for interacting with your repositories that's been available on GitHub.com for a while. It's designed to focus on your content and tries to get out of the way and let you get your day-to-day work done.

repository next

Improved LDAP Integration

GitHub Enterprise now supports LDAP group authentication. This means that you can specify your Domain Base and then restrict who can login using groups rather than OUs. You can add as many groups as you like. In fact, you can even set an admin group where members are automatically given Site Admin permissions on the installation.

You can also view all LDAP users who should have access and create them if they haven't already tried logging in:

Two-factor Authentication

Last week we added two-factor authentication to GitHub.com. With today's release, this feature is now available in GitHub Enterprise, including full support for TOTP in applications like Google Authenticator (available for iOS and Android phones).

two factor authentication

CSV Rendering

CSV rendering is now available so you can view these files in an easy to read format. Try searching them too!

csv rendering

Identicons

If your installation has been languishing without avatars for a while now, good news! Identicons are shipping with this release of Enterprise, so prepare yourself for a much more colorful experience.

identicons

Mobile Views

Need to view a Pull Request linked to from a notification while away from your desk? Not a problem! GitHub Enterprise now supports mobile views.

mobile views

Collectd Monitoring

We've added collectd to the appliance so you can send graph data to an external server and better monitor server health and performance. This data is also included in Support Bundles so we can better help diagnose server-side problems.

File Size Limits

GitHub.com has had file size limits for a while now. This release includes soft limits for files over 50MB. Unlike GitHub.com, no pushes will be rejected right now.

remote: warning: Large files detected.
remote: warning: File big_file is 55.00 MB; this is larger than GitHub Enterprise's recommended maximum file size of 50 MB

New Gist

The new version of Gist has been available on GitHub.com for a while now. Starting with this release we're including the updated Gist in Enterprise!

new gist


Along with a variety of general improvements and adjustments, this new release also includes the following features from GitHub.com:

Existing customers can download this update from the Enterprise website. If you want to give GitHub Enterprise a try, you can request a free trial from https://enterprise.github.com.


We hope you enjoy these features as much as we do. Don't forget that there is more information available about GitHub Enterprise at https://enterprise.github.com. You can also see the full release notes here.

GitHub Enterprise 11.10.310 Release

We're excited to announce the latest release of GitHub Enterprise. Along with a variety of general improvements and adjustments, this new release brings the following features from GitHub.com:

In addition, we're also including several new Enterprise specific features:

64-bit Appliance Image

We've been working for some time on 64-bit support and some customers have had early access to these images for quite a while now. We're happy to announce that all new OVA image downloads starting with this release will be 64-bit. GHPs for 32-bit systems will still be available for the foreseeable future to give people running on older appliances the opportunity to migrate at their leisure. You can get more information about how to migrate from a 32-bit appliance to a 64-bit appliance here.

New Management Console Interface

The Management Console interface has remained largely unchanged since we launched GitHub Enterprise nearly a year and a half ago. It worked fairly well, but definitely looked dated and had some problems rendering in Firefox and Internet Explorer. This design refresh was geared largely toward making it work more consistently across browsers, so users who had difficulties using it in browsers other than Chrome should have a better experience now!

687474703a2f2f636c2e6c792f696d6167652f3333324f30533247306331682f636f6e74656e74

GitHub OAuth Authentication

We've added a new authentication method. You can now hook your Enterprise installation up to GitHub.com via OAuth for authentication. You do this by setting up a new OAuth application that belongs to your organization on GitHub.com and then use its client id and secret. After hooking that up, users who are members of your GitHub.com organization will be able to login automatically via the standard OAuth approval process. All their public user information on GitHub.com will be pulled in along with their email addresses and SSH public keys.

687474703a2f2f636c2e6c792f696d6167652f3163326f31383139324930752f636f6e74656e74

Improved Upgrade Process

Perhaps the most common upgrade problem that's encountered involved a timeout being reached during the initial GHP unpacking step. This started happening as the GHP grew in size. To solve this issue, we've moved the GHP unpacking stage into a background job, so the request will no longer timeout, which should improve the upgrade experience dramatically going forward. However, due to how the upgrade process works, you won't see the benefit for this until your next upgrade after 11.10.310. We've also made some improvements that will help prevent cases where successful upgrades were detected as failures.

Better Reporting

In previous releases, it wasn't really possible to get full reports about all repositories, users, or organizations in an installation via the Admin Tools dashboard. Now you can get CSV reports with all of this information easily via the new Reports section.

687474703a2f2f636c2e6c792f696d6167652f30633174327a324b314a33532f636f6e74656e74

Suspending Dormant Users in Bulk

The idea of a dormant user check was updated to work more closely to what a GitHub Enterprise admin would expect by removing some checks that made a lot of sense for GitHub.com, but not so much in a dedicated installation. It's not uncommon to want to see what users are dormant so you know who you want to suspend to free up seats, so in addition to being able to get a report about who's dormant, you can browse dormant users and perform a bulk suspension of all dormant users if you want now.

Improved Search Tooling

We've added a new Indexing section to the Admin Tools dashboard that allows for additional management of search functionality. You can now disable code searching or code search indexing, initiate code search backfill or issue search index repair jobs. You can also see the status of the ElasticSearch cluster on your appliance.

687474703a2f2f636c2e6c792f696d6167652f3258324d3271306e325033632f636f6e74656e74


We hope you enjoy these features as much as we do. Don't forget that there is more information available about GitHub Enterprise at https://enterprise.github.com/. The latest release can always be downloaded from here.

Today's Email Incident

Earlier today a routine system email was incorrectly sent to many of our GitHub Enterprise customers. In these errant emails, customer email addresses were included in the To: field, making them visible to anyone who received the message.

We are very sorry about this. We have determined what caused this incident and contacted all affected customers directly.

Background

The incident occured in the Rails application we use to manage trials and customer contact information for GitHub Enterprise, not the product itself. No GitHub Enterprise installations were affected, and no license keys or any other data were exposed. GitHub.com was not affected.

As part of a routine daily process, the system notifies the members of any organization whose license is about to expire about the upcoming need for renewal. The app builds an email message including the addresses of all of the active accounts tied to the given organization, putting them in the To: field to enhance deliverability. This morning, the email included a great many more addresses than expected.

Technical details

Yesterday the Rails core team released four security patches (CVE-2013-1854, CVE-2013-1855, CVE-2013-1856, CVE-2013-1857). We immediately reviewed the patches and updated our Rails applications to stay current. Unfortunately one of these security patches included a change that caused certain SQL queries to behave unexpectedly.

Here's an example of this change in behavior:

class Organization < ActiveRecord::Base
  has_many :teams

  attr_accessible :name, :has_octocats

  scope :has_octocats_scope, lambda { where(:has_octocats => true) }

  def self.has_octocats_class_method
    where(:has_octocats => true)
  end
end

class Team < ActiveRecord::Base
  belongs_to :organization
  attr_accessible :name

  def self.using_octocats_scope
    where(:organization_id => Organization.has_octocats_scope.select(:id))
  end

  def self.using_octocats_class_method
    where(:organization_id => Organization.has_octocats_class_method.select(:id))
  end
end

> github = Organization.create(:name => "GitHub", :has_octocats => true)
> acme   = Organization.create(:name => "Acme",   :has_octocats => false)
> github.teams.create(:name => "Supportocats")
> acme.teams.create(:name => "Roadrunners")
> github.id
#=> 1
> acme.id
#=> 2

So, an Organization owns a number of Team records. We've defined a couple of methods to help us scope queries for teams to only those organizations that have octocats. Ideally, both of these methods will scope to the same thing: only Team records with an organization_id of 1, the GitHub Organization. And prior to this latest Rails release, they did.

But the latest release of Rails introduced a subtle change to this behavior. Let's try to make some queries based on the Organization's teams:

> teams = github.teams
  Team Load (0.4ms)  SELECT `teams`.* FROM `teams` WHERE `teams`.`organization_id` = 1
> teams.length       # => 1
> teams.first.name   # => "Supportocats"

Great. Here we've asked for the GitHub organization's teams, and we've gotten the correct one, "Supportocats", back. All is good so far. Now let's use one of our scopes, just to be extra specific:

> teams = github.teams.using_octocats_class_method
  Team Load (0.4ms)  SELECT `teams`.* FROM `teams` WHERE `teams`.`organization_id` = 1 AND `teams`.`organization_id` IN (1)
> teams.length       # => 1
> teams.first.name   # => "Supportocats"

The results are the same, but the query is different. By going through an extra scope, we've added an additional SQL predicate, one that says the returned Team records must belong to an Organization that has octocats. Since the GitHub team has them, the result is the same.

Let's try our scope that is restricted to octocat-having teams on the Acme org:

> teams = acme.teams.using_octocats_class_method
  Team Load (0.4ms)  SELECT `teams`.* FROM `teams` WHERE `teams`.`organization_id` = 2 AND `teams`.`organization_id` IN (1)
> teams.length   # => 0

Here we see a different result, as expected, and a similar query, again asking for all of the Acme organization's teams that also belong to an Organization that has octocats. The Acme Organization has none, so no teams are returned.

But now we come to an unexpected difference. In the last couple of examples, we were using an Arel scope on Organization that was defined as a normal class method. But if we change to using the scope defined with ActiveRecord's scope method, we get unexpected and potentially dangerous results:

> teams = acme.teams.using_octocats_scope
  Team Load (0.4ms)  SELECT `teams`.* FROM `teams` WHERE `teams`.`organization_id` IN (1)
> teams.length       # => 1
> teams.first.name   # => "Supportocats"

Now the Acme organization is returning the GitHub organization's teams! This is obviously bad behavior. What's happening? In this case, when using the scope method to define an Arel scope on Organization, the where clause of the scope is overriding the condition imposed by the Organization#teams association. The part of the WHERE clause meant to restrict the query to Team records related to the Acme organization was dropped.

We've narrowed down this change in behavior to this commit. We have fixed this issue on our affected applications and are working with the Rails core team to determine if this change was intentional as well as what action other users should take.

What we're doing about it

We're reviewing every piece of GitHub code that touches email so we can keep this from happening in the future. We're focusing on more stringent automated tests, sanity checks on email recipients, and even more careful review when we upgrade an external dependency like Rails.

GitHub Enterprise 11.10.300 Release

We're excited to announce the latest release of GitHub Enterprise. We're shipping this version with Issue Attachments, Contributions, and much more. Along with a variety of general improvements and adjustments, this new release brings the following features from GitHub.com:

In addition, we're also including several new Enterprise specific features:

Repository Archives

This has been a frequently requested feature since we launched GitHub Enterprise, and we're happy to announce that it's now available! Each repository will have a link to download a zip archive of the master branch, along with the ability to download tarball or zip archives of the repository for any tags that have been set. This functionality is backed by the same Nodeload service that serves these files for GitHub.com. You can get more background information about Nodeload here and here.

Screen 20Shot 202013-01-29 20at 202 40 01 20PM

Support for Multiple Admin SSH Keys

You can now add more than one SSH authorized key for the admin user on the installation. It will automatically detect any existing keys that are installed as well.

Screen 20Shot 202013-01-29 20at 202 21 57 20PM

Management Console API

A new API for managing GitHub Enterprise settings and maintenances has been added. This new API allows you to update configuration settings, add admin SSH authorized keys, upgrade, and enable or disable maintenance mode. You can find full documentation for the API here. This API has actually existed since the 11.10.280 release, so anyone on 11.10.280 or higher should be able to take advantage of the API. This will be especially useful when you need to upgrade an Enterprise appliance on a remote network, so you don't have to upload new GHPs over slow connections.

Updated Admin Tools Dashboard

The Admin Tools dashboard has had a major overhaul! It now has a look and feel that better matches the rest of the site.

Screen 20Shot 202013-01-29 20at 202 05 54 20PM

Faster Configuration Runs

Prior to 11.10.300, making any settings changes would cause a full configuration run. The config run would take around 10 minutes to complete, even for minor changes. Now only the initial configuration run and upgrades take the full amount of time. If you're only making a settings change, runs can take 30 seconds or less now!

Deleted Repository Restoration

When a repository is deleted, it's now banished to purgatory. Repositories in purgatory wait in limbo for a month before being fully deleted. While in purgatory, any admin can restore the repository with the push of a single button -- including all issues, pull requests, and any associated comments. Purgatory is accessible from the Admin Tools view of any user on a GitHub Enterprise installation.

Screen 20Shot 202013-01-29 20at 202 16 23 20PM

Search Indexing API

With the addition of improvements to the search that shipped in this release, a new API is now available to queue up repositories and users for indexing. You can use this API to integrate into whatever other tools you use at your company. Documentation for this API is available here.


We hope you enjoy these features as much as we do. Don't forget that there is more information available about GitHub Enterprise at https://enterprise.github.com/. You can also see the full release notes here.

New Enterprise.GitHub.com

Today, we’re launching a completely redesigned homepage for GitHub Enterprise, the private, installable version of GitHub running on your servers. Beyond the visual changes, we’ve tightened up the copy to better communicate what Enterprise is and how it works. Current Enterprise users will see a redesigned dashboard and more when they sign in.

Check out the new GitHub Enterprise, still the best way to build and ship software on your servers.

:metal:

GitHub Enterprise 11.10.290 Release

We're excited to announce the latest release of GitHub Enterprise. We're shipping this version with our new Command Bar, User Profile Pages, and much more. Along with a variety of general improvements and adjustments, this new release brings the following features from GitHub.com:

In addition, we're also including several new Enterprise specific features:

Audit Logs

We've had detailed audit logs that we use from GitHub.com for quite some time now. After a lot of work, this same audit logging system is now available in Enterprise. This means that Security History for users and repositories is now available:

There are also push logs for every repository that let you track commits made by users – including which IP the push originated from, the protocol the push occurred over, the user agent for the client that was used, and the SHA before and after the push. Force pushes are noted when they occur:

These logs are included in the log forwarding streams, so you can save them remotely in secure locations for compliance reasons or for better searchability.

Improved Search Backend

Over the last few months, we've been working hard to improve the search experience. We've completely replaced the old backend with ElasticSearch. User, Repository, and Code searching is much faster, with more consistent indexing behavior, and yields better results.

Maintenance Mode

There's now a method to put the installation into maintenance mode. While in this mode, users will be directed to a maintenance page when attempting to browse to the installation and git operations will be rejected with a maintenance message.

Any installation admin can enable maintenance mode at any time via the Management Console. The support email address that's mentioned can be customized as well.

Updated Management Console UI

The UI for the Management Console has had a bit of a touchup:


We hope you enjoy these features as much as we do. Don't forget that there is more information available about GitHub Enterprise at https://enterprise.github.com/. You can also see the full release notes here.

GitHub Enterprise 11.10.280 Release

We're excited to announce the latest release of GitHub Enterprise. We've been working hard to bring you the most recent features from GitHub.com, and we're shipping this version with our new Commit Status API included, and much more. Along with a variety of general improvements and adjustments, this new release brings the following features from GitHub.com:

In addition, we're also including several new Enterprise specific features:

Subversion Bridge

For quite some time GitHub.com has had full support for using subversion clients to interact with git repositories hosted there. This feature wasn't really widely known, which resulted in a more recent blog post detailing how it can be used.

Support for this feature was not immediately available with GitHub Enterprise, but has been widely requested. We're extremely happy to announce that this release of Enterprise now includes the full Subversion Bridge that's available in GitHub.com! After upgrading, it can be taken advantage of immediately with no additional configuration.

New GitHub Enterprise Header Design

One of the benefits of having GitHub Enterprise is that it's nearly identical to GitHub.com. Unfortunately, it can almost be too identical and it was possible to mix up which site you were on. With this change it will be easier to differentiate whether you're visiting GitHub.com or your own GitHub Enterprise installation by taking a look at Enterprise's new gorgeous header:

Log Forwarding

Now, you can centralize the logs produced by GitHub Enterprise by forwarding them to your own logging servers. We're using rsyslog to stream application and server logs out of the appliance for your convenience – you just need to specify an endpoint that can consume forwarded syslog data (e.g., logstash and splunk):

VirtualBox Guest Additions Installer

Beginning with the 11.10.260 release, we've included a utility to help install VMware Tools on Enterprise installations running in VMware environments. Beginning with this release, we're also including a utility to help install VirtualBox Guest Additions. You can get instructions on how to do this here.

New CLI Utilities

We're also including a couple new CLI utilities to help manage the appliance:

  • ghe-vm-reboot – Not all GitHub Enterprise appliance administrators have direct access to the hypervisor the VM is running on. Previously, they might have to go through a separate VM management team to perform a system reboot if that were necessary. Now this is possible by using this script.
  • ghe-repo-repair – This utility will detect any repositories on-disk that may have incorrect permissions on the server. If any are detected, you can optionally correct those permissions as well.
$ ghe-repo-repair -f
 --> Checking for repositories with bad permissions...
 --> Fixing permissions for /data/repositories/gist/1.git...
 --> * Fixing ownership permissions...
 --> * Fixing directory permissions...
 --> * Fixing file permissions...
 --> Done.

Updated Admin Tools UI

The UI for the Admin Tools dashboard has been updated to be more consistent with how settings are represented in the user account settings area:

Administrative actions are now grouped more logically and have better descriptions as well.

Sticky Protocol Selection

This feature has actually been on GitHub.com for a while, but wasn't announced on the blog. Some users prefer SSH over the now default HTTP protocol for cloning. Now the last protocol a user selected will be remembered when viewing any other repository page or creating a new repository. The instructions displayed on empty repositories for what to do next will also display the appropriate steps based on that preference.


We hope you enjoy these features as much as we do. Don't forget that there is more information available about GitHub Enterprise at https://enterprise.github.com/.

GitHub Enterprise 11.10.270 Release

We're announcing the latest release of GitHub Enterprise. This latest release will incorporate the following new features from GitHub.com along with a myriad of tweaks, adjustments, and improvements that we're constantly working on:

In addition to that, we're also announcing several new Enterprise-specific features:

Configurable Time Zone & NTP Settings

The ability to configure the time zone and NTP servers GitHub Enterprise uses through our Management Console has been something we've received a lot of requests for. We're happy to announce that this is now possible.

Ability to Disable Gravatars

On GitHub.com, all avatars are displayed using the Gravatar service (originally written by our very own @mojombo). This works great on GitHub.com, but you may not want referrer information leaking to those servers from your Enterprise installation. You're now able to disable Gravatars and they're now disabled by default as of this release.

Improved Configuration Page

There's now more indication of how far you are through the configuration process when changing settings on your installation. It also gives you some idea of the progress that's occurring as it happens. Keep in mind this will only show up the next time you save settings or upgrade after upgrading to this release.

Additional CLI Utilities

Our last release opened up limited SSH access to Enterprise administrators. With this release we're continuing to add to the CLI utilities we included in that release. Here's a quick breakdown of the new tools:

  • ghe-user-suspend / ghe-user-unsuspend - allows you to suspend or unsuspend users directly from the CLI
  • ghe-logs-tail - allows you to easily tail relevant log files without having to dig for them
  • ghe-diskusage - allows you to gather du information for areas the admin user doesn't typically have access


You can get more information about GitHub Enterprise at https://enterprise.github.com/

GitHub Enterprise 11.10.260 Release

We're excited to announce the latest release of GitHub Enterprise. The response to the product since its launch last November has blown us away and we'd like to tell you about a few of the great things we've been working on to make it even better.

With few exceptions all new features introduced on GitHub.com have been released in Enterprise within a week or two of their announcements. This latest release will incorporate the following new features from GitHub.com:

In addition to that, we're also excited to announce several new Enterprise-specific features:

Monitoring

We're happy to announce the release of SNMP support, expanding the monitoring options available for your GitHub Enterprise installation. This is a standard SNMP installation, so you can take advantage of the many plugins available for Nagios or the monitoring system of your choice.

Suspending User Accounts

Perhaps one of the most requested features we've had to date is an easy way to disable user accounts to free up seats when an employee leaves your company. With this release, we've added the capability to suspend user accounts. This will prevent the disabled user from logging in, pulling, or pushing code -- it will also free up the seat allowing you to add a new user! All of the user's comments, issues, repositories, etc. will remain available and the account can easily be unsuspended at a later date.

SSH Access

Since we released back in November, there has been much demand for some level of SSH access to our appliance. Starting with this release, we're providing limited SSH access along with a host of CLI utilities.

Deny Force Pushes

We've also included the capability to toggle a setting for a repository that will deny force pushes. We're planning on expanding this functionality in the future to be more flexible, but for now it's a good way to prevent people from rewriting the history of a repository's master branch if you want!

VMware Tools Installer

Since the Enterprise launch, we've been using Open VM Tools on our appliance -- which is an open-source release of VMware Tools. Unfortunately, this has not really kept feature-parity with the official VMware Tools distribution and has resulted in some VMware-specific features not working properly. As of this release we're including a utility that will let you uninstall Open VM Tools and install the version of VMware Tools compatible with your version of ESXi.


We have a lot of great new features for Enterprise that are coming up on the horizon, so stay tuned! You can get more information about GitHub Enterprise at https://enterprise.github.com/

Introducing GitHub Enterprise

Today we're launching GitHub Enterprise: a self-hosted GitHub for your company.

GitHub Enterprise

Easy, Secure, and Powerful

GitHub Enterprise has all the great stuff you've come to expect from GitHub: commit histories, code browsing, compare views, pull requests, issues, wikis, gists, organizations and team management, powerful APIs, and a beautiful web interface. With GitHub Enterprise, you can run those features locally, on your own server.

But we've also built a lot more into GitHub Enterprise. Support for LDAP and CAS so you can use your existing corporate authentication systems. Full system backups of all of your data. We also help you set up access over HTTPS so you can be safe and secure.

When you own the server, you can do some very cool things.

Technically Speaking

We first launched the precursor to GitHub Enterprise, GitHub Firewall Install, over two years ago. As it's grown into a bigger part of our business, we've learned to design a great, installable product. GitHub Enterprise is the result of the last twelve months of hard work.

GitHub Enterprise is delivered in the industry-standard OVF format, which means you'll be able to run it on virtualization layers like VMware, VirtualBox, and Oracle VM. Once installed, we'll take you through a brief setup, then you'll be off and running.

Pricing

GitHub Enterprise is priced at $5,000 per 20 users, per year. It comes with everything you need in one tidy package: code browsing, code review, issue tracking, wikis. No extra software to buy, no extra software to install, no extra software to manage.

There's even a free 45-day trial. We think you'll love it.

Use GitHub. You're in Good Company.

Check out the GitHub Enterprise FAQ for more details, sign up for a free trial, or ping us directly at enterprise@github.com if you have questions- we'd love to hear from you.

Something went wrong with that request. Please try again.