LoginSignup
0
0

More than 5 years have passed since last update.

Gemfury | gemfury gem で Gemfury のリポジトリをコマンドライン経由でサクサク操作する #gemfury

Posted at

Gemfury | gemfury gem で Gemfury のリポジトリをコマンドライン経由でサクサク操作する #gemfury

概要

Private な gem を管理できるクラウドパッケージリポジトリの Gemfury を支援する
CLI ツール gemfury gem について。

インストール

$ gem install gemfury

Commands

help [COMMAND]

$ fury help
Commands:
  fury help [COMMAND]                   # Describe available commands or one ...
  fury list                             # List your packages
  fury logout                           # Remove Gemfury credentials
  fury migrate DIR                      # Upload all packages within a directory
  fury push FILE                        # Upload a new version of a package
  fury sharing                          # List collaborators
  fury sharing:add EMAIL                # Add a collaborator
  fury sharing:remove EMAIL             # Remove a collaborator
  fury versions NAME                    # List all the package versions
  fury whoami                           # Show current user
  fury yank NAME -v, --version=VERSION  # Delete a package version

Options:
  [--as=AS]  # Access an account other than your own

$ fury help list
Usage:
  fury list

Options:
  [--as=AS]  # Access an account other than your own

List your packages

list

gem の一覧を取得

$ fury list
Please enter your Gemfury credentials.
Email: your_mail
Password: your_pass

*** GEMFURY PACKAGES ***

gottani (0.0.3)
ruboty-gemfury_test (0.0.1)

logout

他の要ログインのコマンド実行後は、ログインしたままになるので
一度ログアウトしたい場合に利用。
(別ユーザーで処理したい、など。)

$ fury logout
Are you sure you want to log out? [yN] y
You have been logged out

migrate

指定ディレクトリ配下の全ての gem を一斉にリリースする
aun gem と orenono gem を gemfury ディレクトリに clone して、
それを migrate してみます。

$ mkdir gemfury
$ cd gemfury
$ git clone https://github.com/tbpgr/aun.git
$ cd aun
$ rake build
$ cd ../
$ git clone https://github.com/tbpgr/orenono.git
$ cd orenono
$ rake build
$ cd ../
$ cd ../../
$ fury migrate gemfury/
Found the following packages:
  aun-0.0.2.gem
  orenono-0.0.3.gem
Upload these files to Gemfury? [yN] y
Uploading aun-0.0.2.gem - done
Uploading orenono-0.0.3.gem - done

アップード成功

migrate.png

push FILE

$ fury list

*** GEMFURY PACKAGES ***

gottani (0.0.3)
orenono (0.0.3)
ruboty-gemfury_test (0.0.1)

$ fury push ./pkg/aun-0.0.2.gem
Uploading aun-0.0.2.gem - done

$ fury list

*** GEMFURY PACKAGES ***

aun (0.0.2)
gottani (0.0.3)
orenono (0.0.3)
ruboty-gemfury_test (0.0.1)

sharing

Collaborators のリストを返却する

$ fury sharing

*** Collaborators for "xxxx" ***
user1
user2
user3
user4

sharing:remove EMAIL

任意の Collaborator を削除する

help では EMAIL になっているが、 USERNAME じゃないと動かない。(version 0.4.25)
しかし、GitHub の履歴を確認すると以前 USERNAME だったものを EMAIL に変えている。
help のコメントだけ先に変更したけど、処理は完成していないとうことだろうか?

公式ドキュメント は USERNAME のまま。
fury help sharing:addfury help sharing:remove の表示だけが実際の動作と異なる。

ヨクワカラナイ。

$ fury sharing

*** Collaborators for "xxxx" ***
user1
user2
user3
user4

# ヘルプ通りに EMAIL を指定すると動かない・・・
$ fury sharing:remove user4@some_address
Oops! Doesn't look like this exists

# ヘルプを無視して USERNAME を指定したら動いた
$ fury sharing:remove user4
Removed user4 as a collaborator

# 削除されたことを確認
$ fury sharing

*** Collaborators for "xxxx" ***
user1
user2
user3

sharing:add EMAIL

任意の Collaborator を追加する
fury sharing:remove と同様、 EMAIL ではなく USERNAME を利用しなければ動作しなかった

$ fury sharing

user1
user2
user3

$ fury sharing:add user4
Invited user4 as a collaborator

$ fury sharing

user1
user2
user3
user4

version

version を表示

$ fury version
0.4.25

versions [NAME]

NAME の gem のバージョンを一覧取得

$ fury versions gottani

*** Gottani Versions ***

0.0.3
0.0.2

whoami

login 中のユーザー名を表示する

$ fury whoami
You are logged in as "user1"

yank NAME -v, --version=VERSION

NAME の gem を gemfury から削除する。
version 指定も可能。

$ fury list

*** GEMFURY PACKAGES ***

aun (0.0.2)
gottani (0.0.3)
orenono (0.0.3)
ruboty-gemfury_test (0.0.1)
$ fury yank aun -v 0.0.2

*** Yanked aun-0.0.2 ***
$ fury list

*** GEMFURY PACKAGES ***

gottani (0.0.3)
orenono (0.0.3)
ruboty-gemfury_test (0.0.1)

補足

  • gemfury gem は内部で thor を使っている模様

関連

0
0
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
0
0