Setting up GitHub Enterprise
To get started with GitHub Enterprise Server, you’ll need to install your organization’s instance on a virtualization platform of your choice. Using Enterprise Cloud? Log in to your Enterprise Cloud organization on GitHub.com, then jump down to step seven.
Read more about provisioning and installation.
Using the Management Console
The Management Console will help you with day-to-day administrative tasks. Use the Management Console to guide you through initial setup, configure settings for your instance, schedule maintenance, and more.
Read more about web-based management console.
Authenticating users for your GitHub Enterprise instance
Choose your authentication method: Enterprise Server’s built-in authentication or pre-existing LDAP, SAML, or CAS. Not sure which method is right for your team? You’ll be able to switch at any time.
Read more about authenticating users for your GitHub Enterprise instance.
Configuring for high availability
Give yourself maximum potential uptime. Configuring your Enterprise Server instance for high availability makes sure that any hardware failures or major network outages don't disrupt service.
Read more about high availability configuration.
Designating backups and disaster recovery
As an extra layer of protection, set up GitHub Enterprise Server Backup Utilities. You’ll be able to backup your Enterprise Server instance on a Linux or Unix host system—ideally in a different geographical location.
Read more about backups and disaster recovery.
If your organization has offices in multiple locations, geo-replication on GitHub Enterprise Server can help reduce latency between different hosts and locations—getting your teams the data they need, quickly. To use geo-replication, you’ll also need to use geolocation-aware DNS.
Read more about geo-replication.
Confirming your Git and GitHub accounts
Depending on whether you’re using Enterprise Server or Enterprise Cloud, go ahead and sign in and verify your primary email address, or configure your instance to send email notifications on issue, pull request, and commit comments.
Read more about Git and GitHub setup.
Connecting GitHub with SSH
You can use GitHub without having to supply your username and password each time. Use the SSH protocol to add a new SSH key to your GitHub account and configure an authentication agent.
Read more about connecting to GitHub with SSH.
Organizing people for successful collaboration
Your GitHub hierarchy is made up of individual users, organizations, and teams. Each play a role in how your developers collaborate and communicate on GitHub.
Start by grouping individual users within your organization into GitHub teams. Not sure where to begin? Create teams that reflect your current organizational structure or working groups. Then decide which GitHub repositories your teams will have access to. Repositories are where your teams will perform code reviews, give feedback on each other’s progress, and discuss ongoing work.
We know that teams change roles and take on new projects all the time. You can create new teams and manage repository permissions whenever you need to.
Gaining team insights
Team insights help you understand what’s happening within your organization and why. On Enterprise Server or Enterprise Cloud, you can see a summary of all repository activity through Pulse using the Insights tab. Pulse shows how often your teams are closing issues, merging pull requests, and completing work—making it easy to identify patterns (or potential problems) in your workflow.
If you’re using Enterprise Server, you can also check out your Activity dashboard to see weekly, monthly, and yearly graphs on the number of new pull requests, merged pull requests, new issues, closed issues, and more.
Read more about the activity dashboard.
Getting to know admin tools
Using multiple GitHub products? Oversee all of your GitHub accounts with unified business identity, a feature of GitHub Connect. In a single interface, admins can manage overall billing, licensing, permissions, and enforce business policies—whether your organization deploys on your own server or the cloud.
You’ll find unified business identity under your account’s organization settings. Here, you can also manage user access, authentication, and other organization details.
Finding support and training help
Onboarding a new software platform is exciting—and we want you to be able to start building together from day one. Have a question that isn’t answered here? Get in touch with the GitHub Support Team. Depending on your GitHub plan, you can also contact Premium Support for on-demand help outside of typical business hours.
Read more about Enterprise Support and Premium Support.
Looking for additional training? The GitHub Professional Services Team can connect you with the skills your organization needs to work smarter. And if you’re looking for employee education at scale, our friendly GitHub Learning Lab bot helps developers learn and apply new skills through short, hands-on projects.
Setting up secure workflows
After you invite your team to collaborate as an organization, it’s time to decide who will own and help manage your organization’s account. Set permission levels for your organization based on administrative access, billing needs, and the different GitHubs Apps you plan to use. You can also add temporary employees as outside collaborators.
Next, protect your work. Use protected branches to ensure that no one can make irrevocable changes to a repository—meaning they won’t be able to merge branches or pull requests without passing certain security checks. These checks include required status checks, which all code must pass before it can be merged into a protected branch. You can set up branch protections, required status checks, and branch restrictions in your organization’s settings.
Staying in compliance
Required status checks can also help your team stick to and enforce your organization’s compliance standards. Use these checks and others to automate your compliance workflows, verify commits before they’re accepted, and make sure your team builds using repeatable, trackable processes. Your organization’s audit log makes it easy to review your team’s work, too. Find out who performed an action, what the action was, and when it was performed.
Using Enterprise Cloud? GitHub has SOC for Service Organizations reports, and Enterprise Cloud is compliant with AICPA Service Organization Controls (SOC) 2 Type 1 and SOC 1 Type 1. Enterprise Cloud is also authorized via the FedRAMP Tailored baseline of security controls.
Using secure development features
Build securely with GitHub’s built-in secure development features, like security alerts for vulnerabilities, token scanning, and the GitHub Security Advisory API. Get notified if any of your projects have a dependency with a known vulnerability, including suggested fixes from the GitHub community. Token scanning also ensures that your tokens and keys are never accidentally committed and exposed in a public repository, while the GitHub Security Advisory API integrates the latest GitHub security updates into your own projects.
Understanding the GitHub Flow
The GitHub Flow is a lightweight, branch-based workflow that helps you make changes and deploy code quickly. Using branches, commits, and pull requests, you can suggest changes to your code, ask for feedback, leave comments, and review changes before they’re accepted. Think something needs a second look? Tag your team account or individual users anytime, and they’ll get an instant notification.
Reviewing and discussing work
Along with branches, commits, and pull requests, issues also help you track and manage work on GitHub. Create a new issue, pin important issues to the top of your projects, or collaborate using issues that have already been opened by your team. Issues (and pull requests) add up fast, so be sure to use unique labels to categorize and prioritize your work.
Planning and tracking work
Project managers and developers can coordinate, track, and update their work—all in the same place. Create project boards on GitHub with associated issues, pull requests, and notes, then use milestones to track your progress toward team goals. Once your project is ready for the world to see, package up your software, release notes, and links to binary files in a single release.
Automating with GitHub Actions
Can’t find the tool your team needs for a certain task? You don’t have to build your own app. Instead, use GitHub Actions: automated workflows that run on the GitHub platform. Actions are triggered by specific events, like a push, issue, or release. Once you've created an action, you can even make it available in GitHub Marketplace for others to use.
Integrating apps with GitHub
GitHub integrates with over 1,000 third-party applications, including top industry tools like CircleCI, Jenkins, Jira, and ZenHub. Build with the tools your team already relies on, or discover something new without setting up multiple accounts or payment methods. Install apps in seconds on an organization or user account, then give them access to the repositories of your choice.
Using the GitHub API
Create your own tools using the same API that we use to build GitHub. Set up your individual GitHub App with built-in webhooks, run checks against code changes, and develop all kinds of integrations using the full suite of GitHub APIs.
Contributing to open source
Organizations of all sizes are contributing to open source. Whether you’re using Enterprise Server or Enterprise Cloud, you can search for code, issues, and more from millions of open source projects alongside your private projects using GitHub Connect and unified search.
Connecting with the GitHub community
Over 30 million developers use GitHub—but it’s easy to find your place and stay connected. Use GitHub Explore as your guide to finding your next project, catching up with what's trending, and checking out what’s new in the GitHub community.
Learn more about GitHub Explore.
Your GitHub experience is just that: yours. Add an avatar and share your personal interests on your user profile to connect with other like-minded people on GitHub. Your teams at work can share their projects with the rest of the GitHub community too. Unified contributions, another GitHub Connect feature, allows developers to connect their open source and Enterprise profiles. With unified contributions, your team can share public and private projects they’ve worked on and get the recognition they deserve.
Staying connected with GitHub
Looking for the latest GitHub releases or want to know what’s happening in the GitHub universe? Find out what’s new on the general GitHub Blog or GitHub Engineering Blog, as well as our social media channels. For helpful tools and tricks on using GitHub at work, we’ve put together free ebooks, webinars, checklists, and more on the GitHub Resources hub.
Educating your team with GitHub Learning Lab
Teach your team how to use GitHub—without leaving the platform. GitHub Learning Lab helps your developers level up their skills with the help of our friendly Learning Lab bot. Build customized, private courses, improve productivity, and give everyone on your team the tools they need to build better software.
Read more about Learning Lab.
Getting help and technical training from GitHub experts
Need more hands-on training? Our Professional Services Team offers both engineering consultations and in-person classes taught by GitHub experts. We’ll guide you through every stage of your organization’s GitHub journey, from initial setup to using the GitHub API.
Read more about Professional Services.
Using the GitHub Enterprise Support portal
Search for documentation or open a support ticket with our technical engineers anytime. Depending on whether you use Enterprise Server or Enterprise Cloud, you can open a support ticket through either the GitHub Enterprise Server Management Console or the Enterprise Support portal.
Read more about GitHub Enterprise Support.