параметры огурца игнорируются при запуске докера в jenkinsfile, но не в локальном - PullRequest
1 голос
/ 18 октября 2019

Когда я запускаю локальные тесты на огурец с помощью следующих аргументов:

-ea -Dplatform=android -Dcucumber.options="--tags @mytag"

, он работает, но когда я запускаю его с docker run, он игнорирует параметры огурца. .

Мне нужно запустить его из задания Jenkins и запустить в докере.

В моем Jenkinsfile:

sh "docker run --env JAVA_OPTS='-ea -Dplatform=$platform -Dcucumber.options=$cucumberOptions'...

В Jenkinsжурнал конвейера:

docker run --env 'JAVA_OPTS=-ea -Dplatform=android -Dcucumber.options="--tags @Check_Pricing_Payment_Org"'...

Мой класс TestTunner:

@RunWith(Cucumber.class)
@CucumberOptions(
        features = {"src/test/resources/functionalTests/"},
        plugin = {"pretty","json:target/cucumber-reports/Cucumber.json","html:target/cucumber-reports/htmlReports.html" },
        glue= {"stepDefinitions"}
        )
public class TestRunner {

}

Любая помощь или подсказка будут оценены. Спасибо!

РЕДАКТИРОВАТЬ

В качестве обходного пути мы теперь используем это в нашем Jenkinsfile:

script {
                if (env.STEP_TO_RUN.toBoolean()) {
                    stage('First satage') {
                        withMaven(maven:'mvn') {
                            sh 'export GOOGLE_APPLICATION_CREDENTIALS="whatevercredentials.json" && mvn clean test -Dcucumber.options="--tags @MyTag --tags @OtherTag"'
                        }
                    }
                }
            }

И в нашей работе CI STEP_TO_RUN был добавлен в качестве логического параметра цепочки.

Таким образом, мы заставили его работать в gcloud. Надеюсь, это кому-нибудь поможет!

...