Выполнение Cypress-теста в Azure DevOps Pipelines через Dockerfile - PullRequest
0 голосов
/ 18 января 2020

Я создал Dockerfile, который создает образ кипариса, устанавливает все зависимости, копирует необходимые папки и команды CMD для запуска тестов. Я смог создать образ docker локально и выполнить тест при локальном запуске образа.

Я пытаюсь запустить тест в Azure Devops конвейерах. Я создал новый конвейер, используя созданный мной Dockerfile. В моем конвейере я могу получить изображение кипариса, но после его создания тесты не запускаются.

Я что-то упустил? После того, как изображение встроено в конвейер, мне нужно запустить образ? Если это так, я бы сделал это в файле yaml?

1 Ответ

0 голосов
/ 18 января 2020

Команда CMD должна выполняться при запуске образа. Изображение не может быть запущено автоматически после его создания. Поэтому вы должны использовать docker run.

Вы можете использовать задачу powershell для запуска вашей команды docker build and run вместо docker задач.

В приведенном ниже примере я запускаю команду docker build, чтобы создать свой dockerfile, а затем запускаю команду docker run, чтобы запустить мой образ. Затем я могу просмотреть результаты выполнения в кратком журнале задач PowerShell.

- powershell: |
    cd $(system.defaultworkingdirectory) #cd to the directory where dockerfile resides.
    docker build -t myapp .
    docker run --rm myapp

Если вы хотите использовать задачи docker для создания файла Docker, вы также можете попробовать использовать RUN для выполнения теста Cypress. вместо помещения команды выполнения теста в команды CMD в вашем файле Docker, которые могут быть выполнены только при запуске образа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...