Last active
October 26, 2021 12:11
-
-
Save hone/b0c0093374097313ab7f to your computer and use it in GitHub Desktop.
Private GitHub repos with Bundler on Heroku
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Setting Up Private GitHub Repos with Bundler on Heroku | |
| To get a private GitHub repo to work on Heroku, you can leverage the [netrc buildpack](https://github.com/timshadel/heroku-buildpack-github-netrc) in conjunction with the [Heroku Ruby buildpack](https://github.com/heroku/heroku-buildpack-ruby). Since you'll only need read access make sure to set that and restrict access to things that aren't needed like gist. | |
| First, you'll need a GitHub OAuth token to be used. There's ways to do it via the commandline, but I find the [personal settings page](https://github.com/settings/tokens) the easiest way especially if you're using 2 factor auth. | |
| Assuming we already have a heroku app, we can set the token given that the netr buildpack will use. | |
| ```sh | |
| $ heroku config:add GITHUB_AUTH_TOKEN=<my-read-only-token> | |
| ``` | |
| ```ruby | |
| source "https://rubygems.org" | |
| gem "some_private_gem", git: "https://github.com/org/some_private_gem.git" | |
| ``` | |
| ```sh | |
| $ heroku create | |
| $ heroku buildpacks:add https://github.com/timshadel/heroku-buildpack-github-netrc.git | |
| $ heroku buildpacks:add heroku/ruby | |
| ``` | |
| # Setting Up Private GitHub Repos with Bundler on Heroku | |
| ## GitHub OAuth Token | |
| To get a private GitHub repo to work on Heroku, you can leverage the [netrc buildpack](https://github.com/timshadel/heroku-buildpack-github-netrc) in conjunction with the [Heroku Ruby buildpack](https://github.com/heroku/heroku-buildpack-ruby). | |
| First, you'll need a GitHub OAuth token to be used. There's ways to do it via the commandline, but I find the [personal settings page](https://github.com/settings/tokens) the easiest way especially if you're using 2 factor auth. Since you'll only need read access make sure to set that and restrict access to things that aren't needed like gist. | |
| Assuming we already have a heroku app, we can set the token given that the netr buildpack will use. | |
| ```sh | |
| $ heroku config:add GITHUB_AUTH_TOKEN=<my-read-only-token> | |
| ``` | |
| ## Buildpacks | |
| The heroku toolbelt supports chaining multiple buildpacks to be run in succession. | |
| ```sh | |
| $ heroku buildpacks:add https://github.com/timshadel/heroku-buildpack-github-netrc.git | |
| $ heroku buildpacks:add heroku/ruby | |
| ``` | |
| ```ruby | |
| source "https://rubygems.org" | |
| gem "some_private_gem", git: "https://github.com/org/some_private_gem.git" | |
| ``` | |
| # Setting Up Private GitHub Repos with Bundler on Heroku | |
| To get a private GitHub repo to work on Heroku, you can leverage the [netrc buildpack](https://github.com/timshadel/heroku-buildpack-github-netrc) in conjunction with the [Heroku Ruby buildpack](https://github.com/heroku/heroku-buildpack-ruby). | |
| When setting up the Gemfile, make sure to use the https GitHub URL. | |
| ```ruby | |
| gem "some_private_gem", git: "https://github.com/org/some_private_gem.git" | |
| ``` | |
| ## GitHub OAuth Token | |
| First, you'll need a GitHub OAuth token to be used. There's ways to do it via the commandline, but I find the [personal settings page](https://github.com/settings/tokens) the easiest way especially if you're using 2 factor auth. Since you'll only need read access make sure to set that and restrict access to things that aren't needed like gist. | |
| Assuming we already have a heroku app, we can set the token given that the netr buildpack will use. | |
| ```sh | |
| $ heroku config:add GITHUB_AUTH_TOKEN=<my-read-only-token> | |
| ``` | |
| ## Buildpacks | |
| The heroku toolbelt supports chaining multiple buildpacks to be run in succession. | |
| ```sh | |
| $ heroku buildpacks:add https://github.com/timshadel/heroku-buildpack-github-netrc.git | |
| $ heroku buildpacks:add heroku/ruby | |
| ``` | |
| # Setting Up Private GitHub Repos with Bundler on Heroku | |
| To get a private GitHub repo to work on Heroku, you can leverage the [netrc buildpack](https://github.com/timshadel/heroku-buildpack-github-netrc) in conjunction with the [Heroku Ruby buildpack](https://github.com/heroku/heroku-buildpack-ruby). | |
| When setting up the Gemfile, make sure to use the https GitHub URL. This mechanism does not work with git+ssh. | |
| ```ruby | |
| gem "some_private_gem", git: "https://github.com/org/some_private_gem.git" | |
| ``` | |
| ## GitHub OAuth Token | |
| First, you'll need a GitHub OAuth token to be used. There's ways to do it via the commandline, but I find the [personal settings page](https://github.com/settings/tokens) the easiest way especially if you're using 2 factor auth. Since you'll only need read access make sure to set that and restrict access to things that aren't needed like gist. | |
| Assuming you already have a heroku app, you can set the token given that the netr buildpack will use. | |
| ```sh | |
| $ heroku config:add GITHUB_AUTH_TOKEN=<my-read-only-token> | |
| ``` | |
| ## Buildpacks | |
| The heroku toolbelt supports chaining multiple buildpacks to be run in succession. | |
| ```sh | |
| $ heroku buildpacks:add https://github.com/timshadel/heroku-buildpack-github-netrc.git | |
| $ heroku buildpacks:add heroku/ruby | |
| ``` | |
| With all of that setup, you can new deploy. | |
| # Setting Up Private GitHub Repos with Bundler on Heroku | |
| To get a private GitHub repo to work on Heroku, you can leverage the [netrc buildpack](https://github.com/timshadel/heroku-buildpack-github-netrc) in conjunction with the [Heroku Ruby buildpack](https://github.com/heroku/heroku-buildpack-ruby). | |
| When setting up the Gemfile, make sure to use the https GitHub URL. This mechanism does not work with git+ssh. | |
| ```ruby | |
| gem "some_private_gem", git: "https://github.com/org/some_private_gem.git" | |
| ``` | |
| ## GitHub OAuth Token | |
| First, you'll need a GitHub OAuth token to be used. There's ways to do it via the commandline, but I find the [personal settings page](https://github.com/settings/tokens) the easiest way especially if you're using 2 factor auth. Since you'll only need read access make sure to set that and restrict access to things that aren't needed like gist. | |
| Assuming you already have a heroku app, you can set the token given that the netr buildpack will use. | |
| ```sh | |
| $ heroku config:add GITHUB_AUTH_TOKEN=<my-read-only-token> | |
| ``` | |
| ## Buildpacks | |
| The heroku toolbelt supports chaining multiple buildpacks to be run in succession. | |
| ```sh | |
| $ heroku buildpacks:add https://github.com/timshadel/heroku-buildpack-github-netrc.git | |
| $ heroku buildpacks:add heroku/ruby | |
| ``` | |
| With all of that setup, you can new deploy. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment