Every time I push my app to heroku I see the line
-----> Launching... done, v43
Is there a way to make that version number apear within the app so other people can see that number?
Why would you want to depend on running a command after every push? The accepted answer is worse than setting the config yourself.
Instead add to your Gemfile:
gem 'heroku-api'
Add your App name and API key to the Heroku config:
$ heroku config:add HEROKU_APP_NAME=myapp HEROKU_API_KEY=bp6ef3a9...
Then put something like this in config/initializers/heroku.rb
:
unless (app_name = ENV["HEROKU_APP_NAME"]).nil? require 'heroku-api' heroku = Heroku::API.new(:api_key => ENV["HEROKU_API_KEY"]) release = heroku.get_releases(app_name).body.last ENV["HEROKU_RELEASE_NAME"] = release["name"] end
Finally:
puts ENV["HEROKU_RELEASE_NAME"] => v42
Now it's fully automated. You can forget about it and continue to work on your app.
It's now possible to try the Heroku feature Roberto wrote about in his answer, without contacting Heroku. It's called Heroku Labs: Dyno Metadata and you can enable it by
heroku labs:enable runtime-dyno-metadata -a <app name>
and then the information is available (on the next deploy) as environment variables:
~ $ env HEROKU_APP_ID: <some-hash-appId> HEROKU_APP_NAME: example-app HEROKU_DYNO_ID: <some-hash-dynoId> HEROKU_RELEASE_VERSION: v42 HEROKU_SLUG_COMMIT: <some-hash-slugCommit> HEROKU_SLUG_DESCRIPTION: Deploy 2c3a0b2 ...
We don't have to setup any config file or else.
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