Heroku에 배포에 비공개 리포지토리 gem 포함

2275 단어 경 6GemsOAuth루비
오픈 소스 만세! 하지만 가끔은 코드를 숨겨두고 싶은 것도 있죠.

따라서 Heroku에 Ruby 코드를 배포 할 때 GitHub의 개인 저장소에서 종속 라이브러리로 코드를 가져옵니다. GitHub에서 액세스 토큰을 만들어 Heroku 애플리케이션에 설정하고 배포합니다. 토큰을 참조하기 위해 buildpack을 하나 끼웁니다.

이 기사는 Terence Lee의 "Setting Up Private GitHub Repos with Bundler on Heroku"을 기반으로합니다.

토큰 만들기



GitHub에 로그인하고 htps : // 기주 b. 코 m / 세팅 gs / 토켄 s에서 Generate new token을 클릭하여 토큰을 만듭니다. 프라이빗 리포지토리를 clone하려면 "repo"만 체크하면 충분합니다. Generate token 클릭하면 토큰이 표시되므로 클립보드에 복사합니다.

로컬에 토큰 설정



배포에 필수는 아니지만 로컬로 bundle install 때 유용합니다. ~/.netrc에 다음 세 줄을 추가하면 매번 암호를 입력 할 필요가 없습니다.
machine github.com
  login <アカウントのメールアドレス>
  password <ここにトークンをペーストする>

Heroku 애플리케이션에 토큰 설정



클립보드에 토큰이 있는 동안 Config var에도 기억해 둡시다.
$ heroku config:set GITHUB_AUTH_TOKEN=<ここにトークンをペーストする> -a <アプリ名>

Buildpack을 설정하여 이 토큰을 활용하여 배포 시 참조하도록 합니다. (이 buildpack은 Heroku가 공식적으로 지원하지 않습니다. 죄송합니다.)
$ heroku buildpacks:add --index 1 https://github.com/timshadel/heroku-buildpack-github-netrc.git

개발하다



맞아, 이 기사는 RubyKaigi 2015 의 회장에서 보내 드리고 있습니다.
Gemfile는 리포지토리의 https로 시작하는 URL을 지정합니다.
gem "プライベートなgem", git: "https://github.com/アカウント名/レポジトリ名.git"
Gemfile.lock 도 업데이트합니다.
$ bundle install --path=vendor/bundle
$ git add Gemfile Gemfile.lock
$ git commit

물론 코드의 변경도 commit해 주세요.

Heroku에 배포



잘 작동하도록.
$ git push heroku master

이 문서는 Heroku Advent Calendar 2015 의 12월 11일 기사로 보냈습니다.

좋은 웹페이지 즐겨찾기