Извлечение и запись идентификатора конвейера gitlab в журнал gatling - PullRequest
0 голосов
/ 26 марта 2019

Я новичок в GITLAB и GATLING. Я пытаюсь реализовать тестирование производительности сдвига влево как часть конвейера CI / CD с использованием упомянутого инструмента. Хотя я очень хорошо разбираюсь в Дженкинс и Джметре. Я пытаюсь записать Gitlab Pipeline ID в файл журнала симуляции Гатлинга.

Я ссылался на переменную GITLAB, и $ CI_PIPELINE_IID используется для предоставления идентификатора выполнения конвейера. В случае scala я могу извлекать или вставлять переменные окружения, используя JAVA_OPTS, но не могу получить идентификатор конвейера gitlab.

Я провел дальнейшие исследования и смог напечатать идентификатор конвейера на консоли Gitlab

$ echo $CI_PIPELINE_ID
141683

Далее я читаю как часть scala [Gitlab], переменные CI могут использоваться как переменные ENV во время сборки, поэтому извлекаем их как System.getenv ( "$ CI_PIPELINE_IID")

Но пока я пытаюсь сделать то же самое, я получаю нулевое значение.

val varPipelineId = System.getenv("$CI_PIPELINE_ID")
println(varPipelineId)

Журнал консоли:

$ echo $CI_PIPELINE_ID
141694
$ mkdir /opt/gatling/user-files/simulations/cloudnative/
$ cp gatling-reports/cloudnativems.scala /opt/gatling/user-files/simulations/cloudnative/
$ /opt/gatling/bin/gatling.sh -s cloudnative.cloudnativems
GATLING_HOME is set to /opt/gatling
null

Вторая часть требования: Я хочу записать значение идентификатора конвейера в файл gatling Simulation.log для каждой записи журнала

Фактический формат симуляции.log

REQUEST 1       account_movement_post   1553663401413   1553663404218   KO  status.find.in(200,201,202,203,204,205,206,207,208,209,303), found 500

Модифицированный формат симуляции.log

REQUEST 1       account_movement_post   1553663401413   1553663404218   KO  status.find.in(200,201,202,203,204,205,206,207,208,209,303), found 500 [pipeline_id]

1 Ответ

0 голосов
/ 27 марта 2019

Я внес логическое изменение - удалил $ из переменной окружения

val varPipelineId = System.getenv("CI_PIPELINE_ID")
println(varPipelineId)

Выход:

  $ echo $CI_PIPELINE_ID
    141714
    $ mkdir /opt/gatling/user-files/simulations/cloudnative/
    $ cp gatling-reports/cloudnativems.scala /opt/gatling/user-files/simulations/cloudnative/
    $ /opt/gatling/bin/gatling.sh -s cloudnative.cloudnativems
    GATLING_HOME is set to /opt/gatling
    Some(141714)
...