В настоящее время я пытаюсь заставить Docker запустить команду Robot Framework для выполнения в сценарии Windows PowerShell psm1.
Синтаксис, который я успешно использую:
docker run -i `
-e variable name and value `
-e variable name and value `
-e variable name and value `
--name container name `
-v one volume `
-v another volume `
"$($REPO)/$($PROJECT)/image-name:latest"
robot -x $junitFileName -d $outputFolderName path-to-script
Мне удобноэто и рад тому, что все значит.
Моя новая проблема заключается в том, что я должен изменить команду робота, которая выполняется в зависимости от некоторых входных параметров.В одном случае это включает в себя тесты с помощью тега с использованием команды -i input для робота.
Теперь у меня есть много вариантов, включая теги, исключая теги, выход из бегуна робота, выполнение одиночных тестов и т. Д..
Я хочу создать команду робота, прежде чем запускать команду docker.В настоящее время я создаю это в отдельной функции, которая возвращает строку типа
"robot -x $junitFileName -d $outputFolderName -i $tagsToInclude path-to-script"
Теперь я хочу выполнить мою команду Docker, например, так:
docker run -i `
-e variable name and value `
-e variable name and value `
-e variable name and value `
--name container name `
-v one volume `
-v another volume `
"$($REPO)/$($PROJECT)/image-name:latest"
$RobotCommand
Это для экономии при дублированииКонтейнер настроен, так как единственное, что меняется каждый раз, это команда робота.Я получаю следующую ошибку:
Команда, возвращаемая из моей функции, которая возвращает строку:
robot -x junit-output.xml -d output-folder robot-script.robot
И запуск Docker выдает следующую ошибку:
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"robot -x junit-output.xml -d output-folder robot-script.robot\": stat robot -x junit-output.xml -d output-folder robot-script.robot: no such file or directory": unknown.
Мне кажется, что docker пытается запустить папку с именем "robot -x junit-output.xml -d output-folder robot-script.robot", когда на самом деле я хочу выполнить это как команду.
Есть идеи?Я очень расстроен, пытаясь заставить эти две технологии работать вместе.