Gemfury CLI allows you to control your Gemfury account without opening a browser. Once you register for an account, you can start by installing the command-line tool:
$ gem install gemfury
You will need a working Ruby and Rubygems setup in your system. Ruby version at least 1.8 is required.
Authenticate with your Gemfury login credentials:
$ fury login Please enter your Gemfury credentials. Email: firstname.lastname@example.org Password: <hidden password> You are logged in as "[USERNAME]"
And subsequently uploading your first package:
$ fury push package-1.0.0.gem
Uploading your packages is easy. Once you’ve installed the Gemfury CLI, upload files to your account with:
$ fury push package-1.0.0.gem
If you are migrating from another server, or just have many packages lying around, you can specify a directory path and the CLI will upload all the packages found in that directory:
$ fury migrate ./path/to/codez
You can list the contents of your account with the following command, which will enumerate the names of all the packages along with the latest releasable version number:
$ fury list
And if you’d like to see all the versions of a particular package:
$ fury versions package-name
If you’ve uploaded a buggy package or accidentally checked-in some secret credentials into your code, you can easily remove a package version from your account:
$ fury yank package-name -v 0.1.0
You can share your Gemfury account with other Gemfury users. Your collaborators will be able to upload, download, and remove packages in your account without access to your Repo-URL or secret credentials.
Only the account owner can manage collaborators. Collaboration commands are all grouped under the sharing prefix. For example, to list the collaborators for your account:
$ fury sharing
Adding and removing collaborators is as easy as:
$ fury sharing:add USERNAME $ fury sharing:remove USERNAME
Impersonation to use collaboration accounts
Once you have been added as a collaborator, you can perform Gem operations as the shared account via the –as option. For example, to upload a new Gem into the shared account:
$ fury push another-pkg-0.1.0.gem --as USERNAME
Same is possible with listing and deleting gems:
$ fury list --as USERNAME $ fury yank another-pkg -v 0.1.0 --as USERNAME
Gemfury supports storing and building packages from source with our Git repository and builder. These repositories are stored and managed separately from the built packages in your account.
You can list repositories of an account with:
$ fury git:list
Yanking a built package does not implicitly delete the source Git repository, which you can explicitly do with:
$ fury git:reset repo-name
But if you yanked a package by mistake and want to
rebuild it, use
$ fury git:rebuild repo-name
You can also rename the repository – this will not update the
entry in your
$ fury git:rename repo-name better-name
If you need more control of your Git repos, please let us know.
Logging-off and more
To remove your Gemfury credentials, or to change the current user, delete ~/.gems/gemfury file or run this command:
$ fury logout
You can find out about yanking gems and others commands with:
$ fury help
Using the API client
The API and the API client library (included in this gem as Gemfury::Client) are built in Ruby and are currently in an unreleased semi-private undocumented development state.
To start using the client, you’ll need to get your API token from ~/.netrc and initialize the client like so:
client = Gemfury::Client.new(user_api_key: 'j8e6n7n5n3y09')
Stay tuned for more updates…
Contribution and Improvements
Over time, dependencies for this gem will get stale and may interfere with your other gems. Please let us know if you run into this and we will re-test our gem with the new version of the dependency and update the gemspec.