在Jenkins管道中部署压缩的Lambda python脚本

时间:2019-07-01 18:56:25

标签: python jenkins aws-lambda

我有一个问题,我有一个用于lambda的python脚本。当我直接从终端压缩并上传时,一切都没有问题。但是,我正在尝试使用Jenkins将所有内容放入CI / CD管道,这就是问题所在。

我有一个脚本,该脚本(1)压缩python代码(2)将zip文件上传到s3(3)部署带有lambda的CF模板。

它看起来像:

 sh """
    chmod 644 ./internal/lambda/get_cluster_arn.py
    zip ./internal/lambda/get_cluster_arn.zip ./internal/lambda/get_cluster_arn.py
    aws s3 cp ./internal/lambda/get_cluster_arn.zip s3://${s3Bucket}/lambda/ --sse
    # Deploy app
    aws cloudformation package --template-file template.yaml --s3-bucket ${s3Bucket} --s3-prefix sam-template --output-template-file packaged-template.yaml
    aws cloudformation deploy --template-file packaged-template.yaml --stack-name test-stack-${deployEnv} --parameter-overrides Env=${deployEnv} ReleaseTag=${version}
"""

这能够在Jenkins中成功部署。但是,当我测试我的lambda时,出现错误:

  

START RequestId:e3bab32c-1f8e-485c-933b-e67eda95d2f5版本:$ LATEST   模块初始化错误:[Errno 13]权限被拒绝:   '/var/task/internal/lambda/get_cluster_arn.py'

     

END RequestId:e3bab32c-1f8e-485c-933b-e67eda95d2f5报告RequestId:   e3bab32c-1f8e-485c-933b-e67eda95d2f5时长:62.64 ms已结算   持续时间:100 ms内存大小:800 MB已使用的最大内存:34 MB模块   初始化错误[Errno 13]权限被拒绝:   '/var/task/internal/lambda/get_cluster_arn.py'

我看着https://docs.aws.amazon.com/lambda/latest/dg/deployment-package-v2.html,但是我的詹金斯无法识别$ shell命令(因为它们被包装在字符串““”中)。我也看到了{{ 3}},并尝试进行后续操作,但这似乎也不起作用。如何才能从Jenkins成功部署我的Lambda?

0 个答案:

没有答案