leverage-php/lambda-skeleton

dev-main 2022-12-16 10:29 UTC

This package is auto-updated.

Last update: 2024-09-06 13:36:49 UTC


README

介绍

该项目旨在简化开发新的 AWS Lambda 函数。

它提供

  • 一个最小化和空的项目,您可以在此基础上构建新的 Lambda 函数。
  • 开发工具,如 PHPUnit、PHPStan、CS fixer 等。
  • 本地运行您的函数,包括 Xdebug。
  • Bref 在 AWS Lambda 上运行 PHP 运行时。
  • Serverless 配置以轻松将函数部署到 AWS。
  • GitHub Actions 工作流程以测试您的代码并自动将函数部署到 AWS。

用法

要设置新的项目,只需运行

composer create-project leverage-php/lambda-skeleton

如果您使用 Docker

docker run -it -v $PWD:/app --rm composer create-project leverage-php/lambda-skeleton

它将创建一个包含极简项目的新文件夹并安装所有依赖项。您还需要

  • .env.dist 复制到 .env 并设置您的环境变量。

  • 编辑 serverless.yml

#Set up a name of your project. It'll be used in AWS Cloudformation.
service: app

...

functions:
    default:
        #Set up a name for your AWS Lambda function
        name: task-${sls:stage}

就这样。

开发

要本地调用您的函数,运行

$ bin/local

# With JSON event data
$ bin/local '{"foo": "bar"}'

# With JSON in a file
$ bin/local --file=event.json

您可以使用各种开发工具,多亏了 leverage-php/toolchain

bin/composer - Composer

vendor/bin/test- PHPUnit

vendor/bin/static - PHPStan

vendor/bin/codestyle - PHP CS Fixer

部署

要部署您的函数,运行

bin/deploy

它将部署安装在您机器上的项目到开发阶段。

Github Actions

有两个预定义的工作流程用于设置 Github Actions

  • on-pull-request.yml 在创建拉取请求后运行您的测试工具(PHPUnit、PHPStan 和 CS fixer)。

  • on-push-main.yml 在将更改推送到主分支后,将您的函数部署到 AWS 的预发布环境。

PHP 配置

PHP 由 Bref 配置,包含针对 AWS 运行时的优化设置。如果您需要更改它们,只需在项目的根目录中创建一个 php/conf.d 文件夹,并将您的 php.ini 放在那里。