У меня есть плагин jenkins, который я недавно написал для исходных переменных среды из секретов в HashiCorp Vault.
По большей части все работает так, как я ожидал, за исключением случаев, когда я ожидаю, что команда оболочки будет знать установленные переменные среды. Я устанавливаю переменные среды в переопределенном setUp метода SimpleBuildWrapper.
Вот соответствующий фрагмент того, как я устанавливаю переменные среды:
for (VaultSecretValue value : vaultSecret.getSecretValues()) {
context.env(value.getEnvVar(), values.get(value.getVaultKey()));
}
Если я добавлю этап сборки, чтобы отобразить переменную среды, он вернет ожидаемый результат, однако, если я использую внешнюю команду на этапе сборки, которая ожидает, что переменная будет установлена, возникнут проблемы, что-то вроде AWS cli:
aws --region us-east-1 ec2 describe-instances
Если я возьму те же значения переменных среды и экспортирую их в локальный терминал, то результат вышеуказанной команды будет тем, что я ожидаю.
Мой вопрос: при расширении SimpleBuildWrapper
мне не хватает шага, чтобы гарантировать, что переменные среды экспортируются в каждую последующую команду оболочки?
Пожалуйста, дайте мне знать, если я могу предоставить дополнительную информацию.
ОБНОВЛЕНИЕ
Я проверил вывод /usr/bin/env
, и переменные среды установлены. Я думаю, что проблема может заключаться в том, как я сам реализую вызовы vault
. Я обновлю этот вопрос соответственно либо ответом, либо более соответствующей информацией.