Gemfileでgit souce使うやついつも忘れるので

git_source(:github_repo) do |repo_name|
  github_token = 'xxx'
  "https://#{github_token}@github.com/#{repo_name}.git"
end

gem 'embulk-output-foo', github_repo: 'shase/embulk-output-foo'

こんなかんじ

TOKENを環境変数で渡してあげたいときはこんなかんじ

git_source(:github_repo) do |repo_name|
  github_token = ENV['GITHUB_TOKEN']
  "https://#{github_token}@github.com/#{repo_name}.git"
end

実行時にわたす

$ GITHUB_TOKEN=xx embulk bundle install --path vendor/bundle

その他、直接指定。

gem 'embulk-output-foo', :git => 'git://github.com/shase/embulk-output-foo.git',
              :branch => "master"

gem 'embulk-output-foo',  :github => 'embulk-output-foo'

gem 'embulk-output-foo', :path => '/path/to/embulk-output-foo'