当像 CodeShip CI 这样的集成服务运行测试时,Heroku 上会启动一个实例来运行 CI 套件。
如何以编程方式获取特定于分支/构建的 Heroku 应用程序的名称?
我的用例:我想让开发人员 heroku-cli 访问为他们的分支启动的暂存实例。另外,我想要实例 URL,以便 QA 可以检查它的准确性。
我不知道这主要是CodeShip问题还是Heroku问题。如果我能简单地获取这个新实例的名称/信息,我可以解决集成的其余部分。
Codeship为每次运行定义某些环境变量。
因此,我可以基于所有已知部分构建一个 URL,每个 env:
app_name = 'foo'
env = 'staging'
name_parts = [
app_name,
env,
'pr'
ENV['CI_BUILD_NUMBER']
]
testing_url = 'http://' + name_parts.join('-') + '.herokuapp.com'
#=> foo-staging-pr-2729.herokuapp.com
send_to_chatroom(app_name + '_dev_notification')