我想用$CI_ENVIRONMENT_SLUG
将我们的 Selenium 测试指向正确的动态环境,但变量为空。
在部署阶段,它有一个合适的值,我不明白为什么这个变量在每个阶段都不可用。 echo
cmd 打印一个空行。
Tests:
image: maven:3.5.0-jdk-8
stage: Tests and static code checks
variables:
QA_PUBLISH_URL: http://$CI_ENVIRONMENT_SLUG-publish.test.com
script:
- echo $QA_PUBLISH_URL
- echo $CI_ENVIRONMENT_SLUG # empty
- mvn clean -Dmaven.repo.local=../../.m2/repository -B -s ../../settings.xml -P testrunner install -DExecutionID="FF_LARGE_WINDOWS10" -DRunMode="desktopLocal" -DSeleniumServerURL="https://$QA_ZALENIUM_USER:$QA_ZALENIUM_PASS@zalenium.test.com/wd/hub" -Dcucumber.options="--tags @sanity" -DJenkinsEnv="test.com" -DSeleniumSauce="No" -DBaseUrl=$QA_PUBLISH_URL
最佳答案
CI_ENVIRONMENT_SLUG
仅在设置了环境的审核作业中可用。
目前 (11.2) 无法将变量从一个作业移动到另一个作业,尽管您可以:
echo -e -n "$CI_ENVIRONMENT_SLUG" > ci_environment_slug.txt
在审查作业中并将文件添加到工件中:
artifacts:
paths:
- ci_environment_slug.txt
并在您的
Tests
工作,使用before_script:
- export CI_ENVIRONMENT_SLUG=$(cat ci_environment_slug.txt)
关于scope - Gitlab CI $CI_ENVIRONMENT_SLUG 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50056669/