如何借助JenkinsFile流水线及对应插件实现AWS Lambda部署
Jenkins流水线部署AWS Lambda实现方案
前置检查
- 确认Jenkins已安装「AWS Lambda Plugin」插件
- 确认Jenkins全局凭据中已配置具备S3上传、Lambda部署权限的AWS IAM凭据
完整流水线代码示例
你想要的单步同时完成S3上传+Lambda部署的写法目前没有对应插件支持,两个操作分属不同插件,必须拆分为两个阶段执行,不会影响流水线的整体流程,示例代码如下:
pipeline { agent any stages { stage('load artifacts to S3'){ steps { s3Upload(bucket:"deploy-lambda-s3", workingDir:'target', includePathPattern:'my-lambda.jar'); } } stage('deploy to Lambda'){ steps { lambdaDeploy( credentialsId: '你的AWS凭据ID', functionName: 'my-lambda', s3Bucket: 'deploy-lambda-s3', s3Key: 'my-lambda.jar' ) } } } }
参数说明
credentialsId:替换为你Jenkins中存储的AWS凭据ID,对应IAM账号需要授予lambda:UpdateFunctionCode权限functionName:替换为你AWS账号中实际的Lambda函数名称s3Bucket:和你之前上传用的S3桶名保持一致即可s3Key:S3桶中jar包的完整路径,如果你上传时没有指定前缀,直接填my-lambda.jar即可
如果需要同时更新Lambda的运行配置,可以在lambdaDeploy步骤中追加对应参数,例如指定运行时runtime: 'java17'、处理程序handler: 'com.example.MyHandler'、内存大小memorySize: 512等。
内容的提问来源于stack exchange,提问作者Tony
相关产品推荐
相关产品推荐

