diff --git a/appendix-enterprise.asciidoc b/appendix-enterprise.asciidoc new file mode 100644 index 0000000..5ebaab6 --- /dev/null +++ b/appendix-enterprise.asciidoc @@ -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:///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[]. diff --git a/appendix-git-alternatives.asciidoc b/appendix-git-alternatives.asciidoc index 448e9a0..0e88316 100644 --- a/appendix-git-alternatives.asciidoc +++ b/appendix-git-alternatives.asciidoc @@ -1,3 +1,4 @@ +[appendix] == Git Alternatives diff --git a/appendix-nodejs.asciidoc b/appendix-nodejs.asciidoc index bdf4eaa..abf9f4f 100644 --- a/appendix-nodejs.asciidoc +++ b/appendix-nodejs.asciidoc @@ -1,3 +1,4 @@ +[appendix] === NodeJS NodeJS has gained immense popularity in the last few years. JavaScript diff --git a/appendix-ruby.asciidoc b/appendix-ruby.asciidoc index 8c32b78..e07ece4 100644 --- a/appendix-ruby.asciidoc +++ b/appendix-ruby.asciidoc @@ -1,4 +1,4 @@ - +[appendix] == GitHub started with Ruby Many of the tools written and used internally at GitHub are written in diff --git a/atlas.json b/atlas.json index aa81303..9c7195c 100644 --- a/atlas.json +++ b/atlas.json @@ -11,6 +11,7 @@ "chapter-06-hubot-activities.asciidoc", "chapter-07-android.asciidoc", "chapter-08-python-search.asciidoc", + "appendix-enterprise.asciidoc", "appendix-ruby.asciidoc", "appendix-nodejs.asciidoc", "appendix-git-alternatives.asciidoc" diff --git a/book.asciidoc b/book.asciidoc index a7aa86c..4c66b0e 100644 --- a/book.asciidoc +++ b/book.asciidoc @@ -20,3 +20,5 @@ include::chapter-06-hubot-activities.asciidoc[] include::chapter-07-android.asciidoc[] +include::appendix-enterprise.asciidoc[] +