rubygems / gemstash

A RubyGems.org cache and private gem server
MIT License
752 stars 120 forks source link

Running `rake release` prompts for account information #382

Open ddoherty03 opened 10 months ago

ddoherty03 commented 10 months ago

I am trying to set up gemstash such that (1) it operates as a cache for rubygems.org and (2) it serves private gems that I want to test without making them public (yet).

For public gems, I just have to run rake release in my source repository and the gem is uploaded to rubygems. For private gems, I want to be able to do the the same thing except that they are only uploaded to gemstash.

In my private gem's gemspec file, I have this setting:

spec.metadata["allowed_push_host"] = "http://localhost:9292/private"

And it looks like that almost does the trick, except that when I run rake release, I get prompted to set up an account on gemstash:

Enter your http://localhost:9292/private credentials. Don't have an account yet? Create one at http://localhost:9292/private/sign_up Email:

Is there a setting I should have in the gemspec to set my key, or am I missing something else?

wollistik commented 8 months ago

@ddoherty03 Gemstash needs a private key for pushing (see https://github.com/rubygems/gemstash/blob/main/docs/gemstash-private-gems.7.md ).

You can specify this for the rake release task by adding the GEM_HOST_API_KEY environment variable like this:

GEM_HOST_API_KEY=the_gemstash_private_key rake release

See also gem help push where this is documented.