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でございます。