2

I'm trying to get Heroku CI setup so that, upon code checkin, I can start a server running my app and then run Webdriver tests against it to confirm that the new code change is valid.

Locally, I run my tests using a selenium/standalone-chrome-debug Docker image.

The Heroku docs seem to suggest that it may be possible to use a Docker image during Heroku CI runs, but I'm not sure if this is actually possible.

My current app.json looks like this:

{
 "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"}
  ]
}

} }

During the 'test-setup' phase on Heroku, I see the buildpacks (which I think I probably don't need) being installed, but there's no mention of anything relating to the Docker image.

Then when my 'test-setup' command "docker run ..." runs, it fails because the Docker CLI is not available.

bash: docker: command not found

Is this even a valid approach to using Heroku CI? If so, how can I start the Docker image?

Paul Andrew
  • 525
  • 2
  • 15

0 Answers0