KeyError в тесте сборки Jenkins Pipeline - не принимает переменную среды AWS - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть функция AWS Lambda (Python), над которой я работаю, и я пытаюсь получить идентификатор своей учетной записи AWS через переменную среды.

OWNER_ID = os.environ['ACCOUNT_ID']

Функция со временем получит свое значение изшаблон CloudFormation, который его развертывает.

"Environment": {
                    "Variables": {
                        "ACCOUNT_ID": {"Ref": "AWS::AccountId"}
                    }
                },

Я отправляю эти изменения в Git-репозиторий моей компании, где он затем проходит тест сборки Jenkins Pipeline.Каждый раз тест сборки завершается ошибкой, когда он видит переменную ACCOUNT_ID и выдает KeyError, очевидно, потому что у него нет ссылки на эту переменную в списке переменных среды.ПРИМЕЧАНИЕ: у меня нет возможности / полномочий добавить эту переменную env в Jenkins.

Я добавил env var в модульный тест, который выполняется для этой конкретной лямбды:

os.environ['ACCOUNT_ID'] = "xxxxxxxxxxxx" 

Но все еще не работает, потому что модуль модульного тестирования имеет from Source import, который вызывает исходную лямбду для тестовых данных.Это когда Jenkins Pipeline видит env var и выходит из строя.

Кажется, я не могу найти способ обойти это, чтобы пройти модульные тесты.Можно ли как-нибудь успешно завершить тест, не добавляя переменную ACCOUNT_ID в переменную Jenkins 'env?

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