Jenkins Pipeline构建测试中的KeyError-不接受AWS环境变量

时间:2019-04-02 19:25:07

标签: python aws-lambda

我有一个正在使用的AWS Lambda函数(Python),正在尝试通过环境变量提取我的AWS账户ID。

OWNER_ID = os.environ['ACCOUNT_ID']

该功能最终将从部署它的CloudFormation模板中获得其价值。

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

我正在将这些更改推送到我公司的Git回购中,然后通过Jenkins Pipeline构建测试。每次,构建测试都会在看到ACCOUNT_ID变量并抛出KeyError时失败,这显然是因为它在“环境变量”列表中没有对此变量的引用。注意:我没有能力/权限亲自将此环境变量添加到Jenkins中。

我已将env var添加到为此特定Lambda运行的单元测试中:

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

但是仍然失败,因为单元测试模块有一个from Source import,它调用原始Lambda来获取测试数据。这是Jenkins Pipeline看到env var并失败的时候。

我似乎找不到解决办法来使单元测试通过。有什么方法可以使测试成功完成,而不必将ACCOUNT_ID变量添加到Jenkins的环境变量中?

0 个答案:

没有答案