本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
aws-lambda-deploy-action 是一个基于Docker的GitHub Action镜像,用于在GitHub Actions工作流中自动化部署AWS Lambda函数。该镜像封装了AWS CLI及Lambda部署相关工具,支持从GitHub仓库直接构建、打包并部署Lambda函数至AWS云平台,简化CI/CD流程中的无服务器应用交付环节。
AWSLambdaFullAccess 或自定义最小权限);Repository Secrets存储,如AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY)。| 变量名 | 必选 | 描述 | 示例值 |
|---|---|---|---|
AWS_ACCESS_KEY_ID | 是 | AWS IAM用户访问密钥ID(需具备Lambda部署权限) | AKIAEXAMPLE123456789 |
AWS_SECRET_ACCESS_KEY | 是 | AWS IAM用户密钥 | abcdefghijklmnopqrstuvwxyz1234 |
AWS_REGION | 是 | 部署目标AWS区域 | us-east-1 |
通过GitHub Actions工作流的with字段或命令行参数传递,支持以下配置:
| 参数名 | 必选 | 描述 | 示例值 |
|---|---|---|---|
function-name | 是 | 目标Lambda函数名称(需预先在AWS控制台创建或允许镜像自动创建) | my-lambda-function |
code-path | 是 | 本地代码包路径(相对于GitHub仓库根目录,支持zip包或目录) | ./dist/lambda-package.zip |
runtime | 否 | Lambda函数运行时环境(若函数已存在,可不填;新建函数必填) | python3.9 |
handler | 否 | 函数入口处理程序(格式:文件名.函数名,新建函数必填) | lambda_function.lambda_handler |
role-arn | 否 | Lambda执行角色ARN(若函数已存在,可不填;新建函数必填) | arn:aws:iam::123456789012:role/lambda-role |
memory-size | 否 | 函数内存大小(MB,默认128,范围128-10240) | 256 |
timeout | 否 | 函数超时时间(秒,默认3,范围1-900) | 10 |
environment-vars | 否 | 函数环境变量(JSON格式字符串) | {"DB_HOST":"mysql.example.com"} |
s3-bucket | 否 | 代码包大于50MB时,用于中转的S3桶名(需提前创建并授权) | lambda-deploy-bucket-us-east-1 |
.github/workflows/deploy-lambda.yml)name: Deploy Lambda Function on: push: branches: [ main ] # 主分支推送时触发部署 jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Build code package # 假设需先构建代码包(如编译、打包依赖) run: | mkdir -p ./dist zip -r ./dist/lambda-package.zip ./src # 将src目录打包为zip - name: Deploy to AWS Lambda uses: docker://ghcr.io/username/aws-lambda-deploy-action:latest # 替换为实际镜像地址 env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_REGION: "us-east-1" with: function-name: "my-lambda-function" code-path: "./dist/lambda-package.zip" runtime: "python3.9" handler: "lambda_function.lambda_handler" memory-size: "256" timeout: "10" environment-vars: '{"LOG_LEVEL":"info"}'
docker run --rm \ -e AWS_ACCESS_KEY_ID="AKIAEXAMPLE123456789" \ -e AWS_SECRET_ACCESS_KEY="abcdefghijklmnopqrstuvwxyz1234" \ -e AWS_REGION="us-east-1" \ -v $(pwd)/dist:/app/dist \ # 挂载本地代码包目录至容器 ghcr.io/username/aws-lambda-deploy-action:latest \ --function-name "my-lambda-function" \ --code-path "/app/dist/lambda-package.zip" \ --runtime "python3.9" \ --handler "lambda_function.lambda_handler"
lambda:UpdateFunctionCode、lambda:UpdateFunctionConfiguration等必要操作),避免过度授权。--s3-bucket参数指定S3桶中转。runtime、handler、role-arn等必填参数,镜像将自动创建函数;若函数已存在,可仅更新代码或配置。v1.2.0)而非latest,避免因镜像更新导致部署异常。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429