Gem
rubygems
capistrano3

gem を作って rubygems へ登録/公開する手順

More than 3 years have passed since last update.

Capistrano3 用のタスクを 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 化したくなりました。