GitHub for enterprises
Build like the best
-
Increase developer velocity.
-
Secure every step.
-
Automate entire workflows.
-
Redefine collaboration.
-
Trusted by over 83 million developers.
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.
Secure your supply chain
Keep open source components secure and compliant.
Secure your code
Find and fix code vulnerabilities as part of your workflows.
Secure your software lifecycle
Create and enforce security and compliance policies as code.
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.
Chief Information Security Officer
Dow Jones
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
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.
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.
Engineering Architect
Build as one team
Work seamlessly across your organization on a platform designed for collaboration.
Transform your culture
Embrace innersource, iterate faster, and ship more frequently using best practices from open source teams.
Learn as you build
Get insight into how your team builds today with community-backed KPIs.
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.
Head of Digital Communities
Engie
Talent
Tap into the largest developer community
Get connected
Find the experts you need, then make them feel at home with the platform and processes they know and love.
Meet our communityStay 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 ConnectGitHub 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.
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 expertsDeveloper-led learning
Help your team level up their skills in the same place they code.
Explore SkillsTransformation
Transformation by the numbers
The Total Economic Impact Of GitHub Enterprise™
Read the report40%
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.
83M+
Developers
200M+
Private and public repositories
1000s
Open source communities
1B+
Annual contributions
4M+
Organizations
90%
Fortune 100 companies