I'm developing a bash script to automatic clone some projects and another task in dev VM's, but we have one project in Heroku and repository is in it. In my .sh file I have:
> heroku login
And this prompt to enter credentials, I read the "help" guide included on binary and documentation but I can't found anything to automatic insert username and password, I want something like this:
> heroku login -u someUser -p mySecurePassword
Exist any way similar to it?
The Heroku CLI only uses your username and password to retrieve your API key, which it stores in your ~/.netrc
file ($HOME\_netrc
on Windows).
You can manually retrieve your API key and add it to your ~/.netrc
file:
~/.netrc
file, or create it, with your favourite text editorAdd the following content:
machine api.heroku.com
login <your-email@address>
password <your-api-key>
machine git.heroku.com
login <your-email@address>
password <your-api-key>
Replace <your-email@address>
with the email address registered with Heroku, and <your-api-key>
with the API key you copied from Heroku.
This should manually accomplish what heroku login
does automatically. However, I don't recommend this. Running heroku login
does the same thing more easily and with fewer opportunities to make a mistake.
If you decide to copy ~/.netrc
files between machines or accounts you should be aware of two major caveats:
Please be very careful if you intend to log into Heroku using any mechanism other than heroku login
.
You can generate a non-expiring OAuth token then pass it to the CLI via an environment variable. This is useful if you need to run Heroku CLI commands indefinitely from a scheduler and you don't want the login to expire. Do it like this (these are not actual Tokens and IDs, BTW):
$ heroku authorizations:create
Creating OAuth Authorization... done
Client: <none>
ID: 80fad839-876b-4ea0-a41e-6a9a2fb0cf97
Description: Long-lived user authorization
Scope: global
Token: ddf4a0e5-9294-4c5f-8820-b51c52fce4f9
Updated at: Fri Aug 02 2019 21:26:09 GMT+0100 (British Summer Time) (less than a minute ago)
Get the token (not the ID) from that authorization and pass that it to your CLI:
$ HEROKU_API_KEY='ddf4a0e5-9294-4c5f-8820-b51c52fce4f9' heroku run ls --app my-app
Running ls on ⬢ my-app... up, run.2962 (Hobby)
<some file names>
$
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With