Я пытаюсь проверить мой код, написанный в nodejs v10.
Каждый тест должен вызывать новый контейнер базы данных перед началом и разрывать его после завершения теста, чтобы предотвратить любые побочные эффекты, вызванные другим тестом.
Мне нужно сделать это в нескольких базах данных, таких как mongodb, pg ,asticsearch и т. Д.
Ниже приведен пример моего теста
describe('test Mongo', () => {
let container = null;
beforeEach(async() => {
container = await start_a_container_using_child_process_exec(); // exec(`docker run -d --rm -p 27017:27017 mongo:latest`)
});
it('test1', () => {
// connect to database and do something
});
it('test2', () => {
// connect to database and do something
});
afterEach(async () => {
await container.remove();
});
})
Он хорошо работает в моей Windowsсреда с запущенным рабочим столом.
Но этот код не запускается в Gitlab-CI.Ниже мой gitlab-ci.yaml
stages:
- test
test:
image: node:10
stage: test
script:
- 'npm install'
- 'npm run test'
Я продолжаю получать сообщение об ошибке «docker: not found» при попытке запуска контейнера.
Есть ли какое-либо изображение nodejs v10, которое я могуполучить какой он поставляется вместе с установленным докером?
Или есть другой способ решить эту проблему?