ruby-on-rails - 如何在我的 Heroku Rails 应用程序中显示 'last-deployed' 时间戳?

标签 ruby-on-rails git heroku continuous-deployment

我想更新一个环境变量或其他东西来跟踪当前事件的部署时间。有什么方法可以从我在 Heroku 上的应用程序中自动执行此操作,还是我必须将其作为部署脚本的一部分执行?理想情况下,我想要一些可以与我一起使用 TDDium for CI 的东西,并让他们在构建通过时为我推送到 Heroku。

最佳答案

在 Heroku 上使用环境变量

您可以使用 Heroku 的 config-vars .这些实际上只是您通过 Heroku CLI 配置的环境变量。例如,您可以将当前日期存储在名为 DEPLOY_TIMESTAMP 的环境变量中。

heroku config:add DEPLOY_TIMESTAMP=$(date)

然后您应该能够从您的应用程序或命令行访问此环境变量。可以使用 Rails 应用程序中的 ENV['DEPLOY_TIMESTAMP'] 访问该值,或者通过解析本地项目目录中的 heroku config 的输出来访问该值。

使用别名实现自动化

如果你想稍微自动化这个,你可以创建一个 Git 别名来推送到 Heroku 并同时更新 DEPLOY_TIMESTAMP。请注意,您不能覆盖像 push 这样的真实 Git 命令的名称,但您可以添加一个自定义操作,例如 pushstamp。例如:

git config alias.pushstamp \
    '! git push heroku master; heroku config:add DEPLOY_TIMESTAMP=$(date)'

另见

git-config(1)

关于ruby-on-rails - 如何在我的 Heroku Rails 应用程序中显示 'last-deployed' 时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11219639/

相关文章:

ruby-on-rails - Heroku 推送被拒绝,未检测到 Cedar 支持的应用程序

ruby-on-rails - 部署到 Heroku:ExecJS::RuntimeError: SyntaxError: Unexpected token

css - RoR Assets 管道生成额外链接

git - WebStorm 注释在破折号和空格上切断用户名

git gui 分支管理

ruby-on-rails - 在 Heroku 上运行 delay_job worker ?

python - 如何使用 Python 迁移将 Heroku Django 应用程序的新模型表添加到远程 Heroku Postgres?

jquery - 如何为 select2 添加占位符?

ruby-on-rails - 使用货币 rails : How to manually set an attribute's currency

git - 获取标签的提交哈希