我想更新一个环境变量或其他东西来跟踪当前事件的部署时间。有什么方法可以从我在 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)'
另见
关于ruby-on-rails - 如何在我的 Heroku Rails 应用程序中显示 'last-deployed' 时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11219639/