Передача аргументов команде запуска Docker, выполненной с использованием Powershell и Robot Framework - PullRequest
0 голосов
/ 24 сентября 2018

В настоящее время я пытаюсь заставить 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", когда на самом деле я хочу выполнить это как команду.

Есть идеи?Я очень расстроен, пытаясь заставить эти две технологии работать вместе.

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