LoginSignup
29
25

More than 5 years have passed since last update.

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

Posted at

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 化したくなりました。

29
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
25