Capistrano3 用のタスクを gem として切り出し、rubygems に登録し公開したのでその手順を記載します。
参考
- gem の作成方法
- rubygems への登録方法
- コントリビュータ行動規範について
バージョン
version |
---|
bundler 1.10.5 |
capistrano 3.4.0 |
gem プロジェクトの作成
bundle gem
コマンドで作成します。
$ bundle gem capistrano3-railstmp
初めて実行したときは、コントリビュータ行動規範有無、MITライセンス有無、テストに利用するライブラリが聞かれます。
ぼくは、コントリビュータ行動規範:Y、MITライセンス:Y、テストに利用するライブラリ:rspec にしました。
$ bundle config
Settings are listed in order of priority. The top value will be used.
gem.test
Set for the current user (/home/vagrant/.bundle/config): "rspec"
gem.coc
Set for the current user (/home/vagrant/.bundle/config): "true"
gem.mit
Set for the current user (/home/vagrant/.bundle/config): "true"
github に登録
この時点で生成されたソースを github に登録しました。
(.gitignore に .idea を加えています。)
ブラウザから「capistrano3-railstmp」リポジトリを作り、github へ push しました。
$ cd capistrano3-railstmp
$ git add --all
$ git commit -m "生成した状態。.gitignore はちょっと変更した。"
$ git remote add origin git@github.com:katsuhiko/capistrano3-railstmp.git
$ git push -u origin master
gem でやりたいことを実装
Capistrano3 のタスクで Cacheファイルをクリアできるようにしました。
修正箇所は以下です。
ローカル環境に gem をインストール
ローカル環境で公開する前に gem を利用することもできます。
$ cd capistrano3-railstmp
$ bundle exec rake install
rubygems のアカウント作成
https://rubygems.org/sign_up こちらでアカウントを作成します。
rubygems APIアクセス鍵の登録
https://rubygems.org/profile/edit の下のほうにコマンドが記載されていますので、実行します。
curl -u Handle名 https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials; chmod 0600 ~/.gem/credentials
rubygems へアップロード(gem のリリース作業)
以下のコマンドでrubygems へアップロードとタグ付けを行ってくれます。
$ cd capistrano3-railstmp
$ bundle exec rake release
以上で gem を作って rubygems への登録/公開が完了です。
まとめ
情報も多く、手順も単純です。
gem を作るのも簡単だとわかったので、一般化できそうな箇所は gem 化したくなりました。