1

私の Rails アプリでは、通常、タグ付けされたバージョンから本番環境にデプロイし、ユーザー インターフェイスにタグを表示して、 の出力git describe --alwaysを の変数に割り当てますconfig/application.rb

現在、アプリを Heroku に移行していますが、heroku へのデプロイは master ブランチを使用してのみ行われるため、このトリックは機能しなくなります。

バージョン番号をコードに割り当てて、heroku にデプロイしたときに UI に表示する他の方法はありますか?

ありがとう、スチュワート

4

3 に答える 3

3

新しい変更を Heroku にプッシュするたびに、次のコマンドをローカルで実行することにより、Heroku 構成に変数を追加できます。

heroku config:add GIT_TAG=`git describe --always`

次に、アプリの構成でこれにアクセスできます。

version = ENV['GIT_TAG'] || `git describe --always`

アプリが Heroku で実行されている場合、config 変数 ( ENV['GIT_TAG']) が取得され、開発中にローカルで実行されている場合は running にフォールバックしますgit describe --always

デプロイするたびに Heroku 構成変数を更新する必要がありますが、私は通常、この種のものをデプロイ スクリプトまたは rake タスクに追加します (デプロイをマークする新しいタグを作成し、Heroku で新しいデータベース マイグレーションを実行するなどの便利なものを追加します)。 )。

于 2012-05-28T06:08:06.670 に答える
0

git tagあなたのニーズに合っていませんか?

そして、なぜ古いトリックはもう機能しないのでしょうか?

于 2012-05-27T23:07:19.417 に答える
0

UI に表示したい場合、git SHA の出力はおそらく特に役に立ちません。2 つのオプションがあります。Heroku 構成変数にユーザー フレンドリなバージョン番号を設定するか、コードにインクリメントするバージョン番号を設定します。マスターからデプロイするとき。おそらく、ファイルのバージョン番号をインクリメントする(そしてそれをgitに再読み込みしてコミットする)か、単に構成変数の値をインクリメントするrakeタスクでデプロイをラップすることができます。

また、Heroku リリース管理http://blog.heroku.com/archives/2010/11/17/releases/を忘れないでください。おそらく、そこからバージョン番号を取得するためにここで使用できるかもしれません。

于 2012-05-28T07:39:09.387 に答える