polidog lab++

Blog
Capistrano3でgithubのプライベートリポジトリを簡単にデプロイする方法

Capistrano3でgithubのプライベートリポジトリを簡単にデプロイする方法

Mar 11, 2016 | tech | capistrano github deploy

最近すっかり触っていなかったCapistranoですが、久しぶりに設定する機会に恵まれたのでいろいろと調べてみました。

Capistranoは非常に便利なデプロイツールです。しかしいくつか面倒くさい設定が必要な場合もあります。 とくに僕が一番面倒くさいと感じたのは、githubのプライベートなリポジトリをデプロイする場合。
SSH Agent Forwardingの設定すればいいのですが・・・面倒くさいですよね。

そこで、今回は簡単にGithubのPrivate Repositoryからデプロイする方法をご紹介します。 

手順

  1. Personal API tokenの作成
  2. deploy.rbにリポジトリのURLを設定

Personal API tokenの作成

https://github.com/settings/tokensにアクセスして、まずはトークンを作成します。
スコープの指定は念のため今回は「repo」すべてにチェックを入れました。
必要に応じて変更してください。

tokenが生成されたら、メモっておいてください。後で使います。

deploy.rbにリポジトリのURLを設定

Capistranoのdeploy.rbにリポジトリのURLを指定します。

通常だとこのように設定していると思います。

set :repo_url, 'git@github.com:polidog/symfony_sample_todo.git'

これをhttpsで指定します。

set :repo_url, 'https://XXXX:@github.com/polidog/symfony_sample_todo.git'

このXXXXの部分は、先ほど生成したtokenになります。

たったこれだけです。試しにcap production deploy:checkとか適当に試してみるとちゃんと動いていると思います。

最後に

ググると大体SSH Agent Forwardingの設定しろよ的な記事ばかり出てきます。
そんな面倒くさい事をしなくても、簡単にGithubのPrivate Repositoryから簡単にソースコードが取得できます。 ぜひぜひ試してみてください。

参考: Authentication & Authorisation

comments powered by Disqus

© 2017 polidog lab++