Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions appendix-enterprise.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
[appendix]
== GitHub Enterprise


Most people understandably equate GitHub (the company) with github.com (the website), but it's interesting to note that they're not one and the same.

The GitHub website, as important it is to modern open- and closed-source software development, is not the only product that GitHub (the company) produces.
The single largest other product from that team is called GitHub Enterprise, and it's a version of the GitHub software that can be deployed inside a corporate firewall – like having your own private github.com.

The two products are very similar from a user point of view, but there are some important differences.
It can sometimes be hard to imagine the kinds of difficulties that Enterprise is designed to solve, but keep in mind it's for large teams.

=== Installation

Using GitHub Enterprise isn't as easy as signing up for an account.
You're responsible for all the infrastructure and maintenance, including installation, updates, system maintenance, keeping the machine running, and so on.
However, if your company is considering Enterprise, it's likely you already have specialists who are already doing this for other services.

The GitHub team has also made it pretty easy for them.
The software comes as a pre-packaged virtual machine in a variety of formats, so you'll likely find something that fits into your infrastructure.
Once the machine is running, most of the configuration can be done with a web interface, but there are some tricky bits like network configuration and port forwarding that aren't easy for the layperson to get right.

=== Administration

Since you're in control of the environment in which Enterprise runs, you now have a lot of concerns that the typical github.com user does not.
GitHub Enterprise has an administration interface for dealing with these issues, which doesn't exist on github.com.
It allows management of things like system resources, reports, search, and many others.

Also, while github.com has its own user system, GitHub Enterprise can optionally plug into your organization's existing authentication system.
This allows a company's IT organization to manage user identities in one single place, rather than having to duplicate a lot of effort when a new team member hires on.
It also eases the initial transition, when perhaps thousands of people will need new accounts.
Several systems are supported, including LDAP and SAML, as well as plain old email and password.

=== API

The complete GitHub API is also available on an Enterprise instance; you just need to send your requests to https://<hostname>/api/v3[] instead of https://api.github.com/[].
You can imagine that some users have accounts on both an Enterprise instance as well as github.com, and many applications have started supporting this scenario.

There's also a new API section that isn't available on github.com, called the Management Console API.
It allows you to do things like check settings, maintain SSH keys, manage your license, and so on.
Nearly anything you can do from the web management console, you can do through the API.

Documentation for this API is available at https://developer.github.com/v3/enterprise[].
1 change: 1 addition & 0 deletions appendix-git-alternatives.asciidoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[appendix]
== Git Alternatives


Expand Down
1 change: 1 addition & 0 deletions appendix-nodejs.asciidoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[appendix]
=== NodeJS

NodeJS has gained immense popularity in the last few years. JavaScript
Expand Down
2 changes: 1 addition & 1 deletion appendix-ruby.asciidoc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@

[appendix]
== GitHub started with Ruby

Many of the tools written and used internally at GitHub are written in
Expand Down
1 change: 1 addition & 0 deletions atlas.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"chapter-06-hubot-activities.asciidoc",
"chapter-07-android.asciidoc",
"chapter-08-python-search.asciidoc",
"appendix-enterprise.asciidoc",
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure about ordering here.

"appendix-ruby.asciidoc",
"appendix-nodejs.asciidoc",
"appendix-git-alternatives.asciidoc"
Expand Down
2 changes: 2 additions & 0 deletions book.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,5 @@ include::chapter-06-hubot-activities.asciidoc[]

include::chapter-07-android.asciidoc[]

include::appendix-enterprise.asciidoc[]

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this file even going to be used, or are we going to rely on Atlas for all our builds?

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this file is unnecessary and we'll be using the atlas.json.