Skip to content

GitHub for enterprises

Build like the best

  • Increase developer velocity.

  • Secure every step.

  • Automate entire workflows.

  • Redefine collaboration.

  • Trusted by over 65 million developers.

Contact Sales Start a free trial

Empower your team.
Transform your business.

DevOps is just the start. Top organizations know that transformation also depends on technology, talent, culture, and process. GitHub helps enterprises put them all to work—in one place.

Security

Stay secure end to end

See how we keep your applications secure
Secure your dependencies

Secure your supply chain

Keep open source components secure and compliant.

Secure your code

Secure your code

Find and fix code vulnerabilities as part of your workflows.

Secure your software lifecycle

Secure your software lifecycle

Create and enforce security and compliance policies as code.

People working
GitHub helps us ensure that we have our security controls baked into our pipelines all the way from the first line of code we’re writing.
Photo of Chief Information Security Officer at Dow Jones

Chief Information Security Officer

Dow Jones

DevOps

Automate more, deliver faster, and continuously improve

Start automating your workflows

Accelerate delivery

Automate every step of your pipeline, including powerful, flexible CI/CD native to GitHub.

                  Using rake 12.3.3
                  Using Ascii85 1.0.3
                  Using RedCloth 4.3.2
                  Using multipart-post 2.1.1
                  Using faraday 0.17.3
                  Using acme-client 0.6.1
                  Using concurrent-ruby 1.0.5
                  Using i18n 1.7.0
                  Using minitest 5.13.0
                  Using thread_safe 0.3.5.c8158c9
                  Using tzinfo 1.2.6
                  Using zeitwerk 2.2.2
                  Using activesupport 6.0.2.2.5665d0867b
                  Using builder 3.2.3
                  Using erubi 1.8.0
                  Using mini_portile2 2.4.0
                  Using nokogiri 1.10.9
                  Using rails-dom-testing 2.0.3
                  Using crass 1.0.6
                  Using loofah 2.4.0
                  Using rails-html-sanitizer 1.1.0
                  Using actionview 6.0.2.2.5665d0867b
                  Using rack 2.1.2
                  Using rack-test 0.6.3
                  Using actionpack 6.0.2.2.5665d0867b
                  Using nio4r 2.3.1
                  Using websocket-extensions 0.1.3
                  Using websocket-driver 0.7.0
                  Using actioncable 6.0.2.2.5665d0867b
                  Using globalid 0.4.2
                  Using activejob 6.0.2.2.5665d0867b
                  Using activemodel 6.0.2.2.5665d0867b
                  Using activerecord 6.0.2.2.5665d0867b
                  Using mimemagic 0.3.3
                  Using marcel 0.3.3
                  Using activestorage 6.0.2.2.5665d0867b
                  Using mini_mime 1.0.2
                  Using mail 2.7.1
                  Using actionmailbox 6.0.2.2.5665d0867b
                  Using actionmailer 6.0.2.2.5665d0867b
                  Using actiontext 6.0.2.2.5665d0867b
                  Using active_record_has_many_split_through 0.1.0.g561c960
                  Using public_suffix 4.0.3
                  Using addressable 2.7.0
                  Using afm 0.2.2
                  Using google-protobuf 3.9.1 (x86_64-linux)
                  Using twirp 1.1.0
                  Using aleph-client 2.1.0.gdf2a805d
                  Using allocation_sampler 1.0.0
                  Using aqueduct-client 0.1.0.g2ab5e8c
                  Using arca 2.1.3
                  Using asciidoctor 2.0.7
                  Using ast 2.4.0
                  Using metaclass 0.0.4
                  Using mocha 1.1.0
                  Using resilient 0.4.0
                  Using authzd-client 0.9.4.ra6f4763b
                  Using aws-eventstream 1.0.3
                  Using aws-partitions 1.284.0
                  Using aws-sigv4 1.1.1
                  Using jmespath 1.4.0
                  Using aws-sdk-core 3.91.1
                  Using aws-sdk-kms 1.30.0
                  Using aws-sdk-s3 1.61.1
                  Using badge-ruler 0.0.1
                  Using bcrypt 3.1.13
                  Using benchmark-ips 2.7.2
                  Using mochilo 1.3.5.g70afb07
                  Using bert 1.1.10.45.gf6727fc
                  Using bertrpc 1.3.1.pre.github9
                  Using html_tokenizer 0.0.7
                  Using parser 2.6.4.0
                  Using smart_properties 1.13.1
                  Using better_html 1.0.11
                  Using bindata 2.4.6
                  Using msgpack 1.3.0
                  Using bootsnap 1.4.4
                  Using braintree 2.95.0
                  Using browser 3.0.2
                  Using bundler 2.0.2
                  Using byebug 9.0.3
                  Using regexp_parser 1.7.0
                  Using xpath 3.2.0
                  Using capybara 3.31.0
                  Using cbor 0.5.9.6
                  Using charlock_holmes 0.7.6
                  Using method_source 0.9.2
                  Using thor 0.19.4
                  Using railties 6.0.2.2.5665d0867b
                  Using sprockets 3.7.2
                  Using sprockets-rails 3.2.1
                  Using rails 6.0.2.2.5665d0867b
                
CI logs
Workflow running Workflow running Workflow running Workflow list
Workflow file screenshot
Action 1
Action 2
Action 3
Action 4

Build on best practices

Use and adapt workflows built by industry leaders and the open source community.

Scale secure automation

Consistently apply and scale policies across your organization, with traceability from source to deploy.

Workflow starter card Automated matrix build: linux Automated matrix build: macOS Automated matrix build: Windows Automation workspace
                  error-pages
  GET /
     should respond with page list
  Accept: text/html
    GET /403
       should respond with 403
    GET /404
       should respond with 404
    GET /500
       should respond with 500
  Accept: application/json
    GET /403
       should respond with 403
    GET /404
       should respond with 404
    GET /500
       should respond with 500
  Accept: text/plain
    GET /403
       should respond with 403
    GET /404
       should respond with 404
    GET /500
       should respond with 500
error
  GET /
     should respond with 500
  GET /next
     should respond with 500
  GET /missing
     should respond with 404

markdown
  GET /
     should respond with html
  GET /fail
     should respond with an error

multi-router
  GET /
     should respond with root handler
  GET /api/v1/
     should respond with APIv1 root handler
  GET /api/v1/users
     should respond with users from APIv1
  GET /api/v2/
     should respond with APIv2 root handler
  GET /api/v2/users
     should respond with users from APIv2

mvc
  GET /
     should redirect to /users
  GET /pet/0
     should get pet
  GET /pet/0/edit
     should get pet edit page
  PUT /pet/2
     should update the pet
  GET /users
     should display a list of users (70ms)
  GET /user/:id
    when present
       should display the user
       should display the users pets
    when not present
       should 404
  GET /user/:id/edit
     should display the edit form
  PUT /user/:id
     should 500 on error
     should update the user
  POST /user/:id/pet
     should create a pet for user (19ms)

params
  GET /
     should respond with instructions
  GET /user/0
     should respond with a user
  GET /user/9
     should fail to find user
  GET /users/0-2
     should respond with three users
  GET /users/foo-bar
     should fail integer parsing

resource
  GET /
     should respond with instructions
  GET /users
     should respond with all users
  GET /users/1
     should respond with user 1
  GET /users/9
     should respond with error
  GET /users/1..3
     should respond with users 1 through 3
  DELETE /users/1
     should delete user 1
  DELETE /users/9
     should fail
  GET /users/1..3.json
     should respond with users 2 and 3 as json

route-map
  GET /users
     should respond with users
  DELETE /users
     should delete users
  GET /users/:id
     should get a user
  GET /users/:id/pets
     should get a users pets
  GET /users/:id/pets/:pid
     should get a users pet

route-separation
  GET /
     should respond with index
  GET /users
     should list users
  GET /user/:id
     should get a user
     should 404 on missing user
  GET /user/:id/view
     should get a user
     should 404 on missing user (13ms)
  GET /user/:id/edit
     should get a user to edit
  PUT /user/:id/edit
     should edit a user
  POST /user/:id/edit?_method=PUT
     should edit a user
  GET /posts
     should get a list of posts

vhost
  example.com
    GET /
       should say hello
    GET /foo
       should say foo
  foo.example.com
    GET /
       should redirect to /foo
  bar.example.com
    GET /
       should redirect to /bar

web-service
  GET /api/users
    without an api key
       should respond with 400 bad request
    with an invalid api key
       should respond with 401 unauthorized
    with a valid api key
       should respond users json
  GET /api/repos
    without an api key
       should respond with 400 bad request
    with an invalid api key
       should respond with 401 unauthorized
    with a valid api key
       should respond repos json

GET /api/user/:name/repos
  without an api key
     should respond with 400 bad request
  with an invalid api key
     should respond with 401 unauthorized
  with a valid api key
     should respond user repos json
     should 404 with unknown user

when requesting an invalid route
   should respond with 404 json

1123 passing (4s)

=============================================================================
Writing coverage object [/home/runner/build/expressjs/express/coverage/coverage.json]
Writing coverage reports at [/home/runner/build/expressjs/express/coverage]
=============================================================================

=============================== Coverage summary ===============================
Statements   : 98.81% ( 1916/1939 ), 38 ignored
Branches     : 94.58% ( 751/794 ), 22 ignored
Functions    : 100% ( 267/267 )
Lines        : 100% ( 1872/1872 )
================================================================================
The command "npm run test-ci" exited with 0.

$ npm run lint

> express@4.17.1 lint /home/runner/build/expressjs/express
> eslint .

The command "npm run lint" exited with 0.

store build cache

$ # Upload coverage to coveralls

Done. Your build exited with 0.

                
Automation logs
People working
CI/CD with GitHub Actions allows us to build, test, and deploy right from GitHub. We’ve reduced build time from 80 to 10 minutes.
Photo of Engineering Architect at Pinterest

Engineering Architect

Pinterest

Collaboration

Turn collaboration into innovation

Learn more about innersource
People collaborating

Build as one team

Work seamlessly across your organization on a platform designed for collaboration.

People collaborating

Transform your culture

Embrace innersource, iterate faster, and ship more frequently using best practices from open source teams.

People collaborating

Learn as you build

Get insight into how your team builds today with community-backed KPIs.

People working
With GitHub, we can scale and build projects on a new level now. It’s not about how good you are alone. It’s about the greatness we can achieve through sharing and collaboration.
Photo of Head of Digital Communities at Engie

Head of Digital Communities

Engie

Talent

Tap into the largest developer community

Get connected Get connected Get connected Get connected

Get connected

Find the experts you need, then make them feel at home with the platform and processes they know and love.

Meet our community
Get connected Get connected Get connected Get connected

Stay connected

Raise your profile as an open source leader—and help your team to work on the open source code they care about.

Check out GitHub Connect
People working
GitHub keeps us up to speed with the industry’s best tools. We want new hires to know GitHub is in our toolchain—it makes them excited to join us.
Photo of Head of Emerging Tech at American Airlines

Head of Emerging Tech

American Airlines

Services

Work with a
trusted partner

From creating a tailored transformation plan to streamlining your DevOps pipeline, we’ll work together to build solutions as unique as your team.

Meet the experts
24/7 support

24/7 support

Get help whenever you need it from our always-on team.

See support options
Top integrations

Top integrations

Use your favorite IDEs, cloud platforms, and more.

Browse Marketplace
Developer-led learning

Developer-led learning

Help your team level up their skills in the same place they code.

Explore Learning Lab

Transformation

Transformation by the numbers

Forrester Report
Forrester

The Total Economic Impact Of GitHub Enterprise™

Read the report

40%

Reduction in developer onboarding time *

639%

Return on investment over 3 years *

45

Minutes saved per developer, per day *

* Results based on a composite organization of 1,800 developers using GitHub over three years.

Enterprise Transformation Enterprise Transformation Enterprise Transformation

Customer stories

Join the teams building tomorrow’s software

Explore customer stories

65M+

Developers

200M+

Private and public repositories

1000s

Open source communities

1B+

Annual contributions

3M+

Organizations

72%

Fortune 50 companies

GitHub for enterprises

Build like the best