我想更新一个环境变量或某些东西来跟踪当前活动的部署时间.有没有办法在我的Heroku应用程序中自动执行此操作,或者我是否必须在部署脚本中执行此操作?理想情况下,我想要一些可以使用TDDium for CI的东西,并让它们在构建过程中为我推送Heroku.
解决方法
1.
除非您创建部署脚本/任务,否则在部署到Heroku时没有自动方法. (我也在2012年6月搜索过这个).我有一个执行部署的rake任务,其中一部分设置GIT_TAG,我的网页(rails中的应用程序布局)将其打印到页面.
除非您创建部署脚本/任务,否则在部署到Heroku时没有自动方法. (我也在2012年6月搜索过这个).我有一个执行部署的rake任务,其中一部分设置GIT_TAG,我的网页(rails中的应用程序布局)将其打印到页面.
以下是我如何写入Heroku GIT_TAG配置var(使用基于Rails的Rake任务):
tag = `git describe master --always`.strip `heroku config:add GIT_TAG=#{tag} --app XXXX`
2.
使用tddium:tddium现在支持“post build hook”,我扩充了他们的标准版本以在该过程中设置GIT_TAG.首先阅读并遵循http://blog.tddium.com/2012/05/09/heroku-continuous-deployment/并在“post_build_hook”任务中添加一些内容来读取标记并设置heroku配置var,如下所示:
namespace :tddium do def cmd(c) system c end desc "post_build_hook to deploy to dfc-site-qa" task :post_build_hook do ...use code verbatim from above URL (https://www.tddium.com/support/reference#customization) ... current_tag = `git describe master --always`.strip cmd "heroku config:add GIT_TAG=#{current_tag} --app XXXX" or puts "could not set GIT_TAG to #{current_tag}" ... end
笔记:
>根据需要替换上面的“主人”.在我的部署rake任务(乐于分享)中,我允许基于分支或标记进行部署(方便地绕过heroku仅从master进行部署的愿望).
>要让tddium运行“post_build_hook”,您必须通过运行以下命令取消激活部署后的URL:
tddium suite –edit
并使用当前值“pull url”,但将“push url”设置为空白(或默认值).博客链接中未提及此步骤.>在当前构建的tddium网页中,您现在将看到一个指向post_deploy_hook日志文件的链接(位于页面的最底部),您可以打开它并查看它是如何运行的(也就是调试您的rake任务).