capistrano-git-copyを利用してローカル環境経由でデプロイする

はじめに

デプロイ先のセキュリティポリシが強固である為、ソースコードの配置されているリポジトリにアクセスすることができない、といったケースは結構多いと思います。アクセス許可を得る為に部長の決裁が必要、といったケースも決して少なくありません。

そういった場合に便利なのがcapistrano-git-copyです。

こちらのgemはリポジトリに存在するコード一式を一度ローカルに保存し、これをアーカイブに固めた上でデプロイ先まで転送してくれます。capistrano2における、deploy_via :copyに相当する機能でございます(現行のcapistrano3では、deploy_via :copyが廃止されました)。

実装

capistrano-git-copyをインストールします。

gem install capistrano-git-copy

Capfileにcapistrano-git-copyの利用を宣言します。

require 'capistrano/git_copy'
install_plugin Capistrano::GitCopy::SCM

これでcapistranoの挙動が変化します。

個人的にはcapistranoを利用する上で、必須と称しても差し支えないgemだと考えております。社内ルールのゆるいスタートアップ系のお仕事ではあまり出番もありませんが、カチッとした企業でcapistranoを利用する際には、ほぼ入れております。

今後とも応援していきたいgemでございます。

Rails

Posted by poison