rubygem.orgにgemを公開する手順
はじめに
アプリをrubygems.orgに公開するための手順を確認しました。
この手順で作成したアプリを公開します。
gemの作成
以前の記事にも記載しましたが、以下の方法でgemの雛形が作成できます。
この方法で作成して置けば、gemを公開する準備は整っています。
$ bundle gem test
githubに登録
rubygems.orgに公開するにはそのgemが公開されているGitリポジトリになければなりません。
基本はGitHubでいいと思います。
アカウント作成とSSH認証については今回は省略します。
作成された雛形はすでにgit管理されているのでそのまま扱えるのですが、プロジェクトの作成上で公開したくないファイルについては.gitignore
を更新して対応する必要があります。
$ cd test
$ git add -A
$ git commit -m "コメントは入れようね!"
$ git remote add origin git@gitub.com:<githubアカウント名>/<作成したプロジェクト名>.git
$ git push -u origin master
rubygems.orgのアカウント登録
rubygemsのサインアップでアカウント登録します。
rubygems APIアクセス鍵の登録
アカウント登録が完了したらプロフィール編集ページのAPI ACCESSのCurlコマンドを実行します。
$ curl -u <rubygemsアカウント名> https://rubygems.org/api/v1/api_key.yaml > ~/.gem/credentials; chmod 0600 ~/.gem/credentials
Enter host password for user <rubygemsアカウント名>:<rubygemsのパスワードを入力>
gemの作成
以下のコマンドでプロジェクトからgemの作成ができます。
この項目は特にgemの公開とは関係ないですが、公開せずにgemを使ったりできます。
$ cd test
$ bundle exec rake build # => pkg/以下に作成されます。
gemの中身はgitで管理されているものになりますが、一応以下のコマンドでgemを展開できます。
$ gem unpack <gem名>
gemspecの修正
前の記事に書いたTODOの修正等はもちろんだが、 rubygemsに公開する場合は以下をコメントアウトしないと公開できません。
if spec.respond_to?(:metadata) spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'" else raise "RubyGems 2.0 or newer is required to protect against " \ "public gem pushes." end
rubygemsへの公開
上記の各項目(gemの作成以外)が完了していれば以下のコマンドでrubygemsに公開できます。
$ cd test
$ bundle exec rake release
しかしgit add
前のコミットしていない内容が存在するとエラーとなることがあるので、気をつける必要があります。
その場合はコミットまで完了するか、大丈夫であればgit checkout
で元に戻す等で対応できます。
Version更新
余談だが、version.rbの以下の数値を修正することで公開するバージョンを明示的にできます。
module ConnpassToCalendar VERSION = "0.1.0" end