我正在尝试设置Heroku CI,以便在代码签入时,我可以启动一个运行我的应用程序的服务器,然后针对它运行 Webdriver 测试以确认新的代码更改是有效的。
在本地,我使用selenium/standalone-chrome-debug Docker 映像运行我的测试。
Heroku 文档似乎 暗示在 Heroku CI 运行期间可以使用 Docker 映像,但我不确定这是否真的可行。
我当前的 app.json 看起来像这样:
{
"name": "Test",
"environments": {
"test": {
"env": {
},
"scripts": {
"test-setup": "docker run -d --name se-chrome-debug -p 5900:5900 -p 4444:4444 selenium/standalone-chrome-debug",
"test": "npm run test"
},
"image": "selenium/standalone-chrome-debug",
"buildpacks": [
{"url": "heroku/nodejs"},
{"url": "https://github.com/heroku/heroku-buildpack-google-chrome.git"},
{"url": "https://github.com/heroku/heroku-buildpack-chromedriver"}
]
}
} }
在 Heroku 的“测试设置”阶段,我看到构建包(我认为我可能不需要)正在安装,但没有提及与 Docker 映像相关的任何内容。
然后,当我的“测试设置”命令“docker run ...”运行时,它会失败,因为 Docker CLI 不可用。
bash: docker: command not found
这甚至是使用 Heroku CI 的有效方法吗?如果是这样,我该如何启动 Docker 映像?