google / cloud-tools
Google Cloud Platform的PHP工具
Requires
- php: >=8.0
- guzzlehttp/guzzle: ~7.0
- symfony/browser-kit: ^5.0
- symfony/console: ^5.0
- symfony/filesystem: ^5.0
- symfony/process: ^5.0
- twig/twig: ~3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.21
- google/cloud-core: ^1.20
- google/cloud-dlp: ^1.10
- google/cloud-secret-manager: ^1.12
- google/cloud-storage: ^1.33
- google/gax: ^1.0.0
- paragonie/random_compat: >=2
- phpspec/prophecy-phpunit: ^2.0
- phpunit/phpunit: ^9
- dev-main
- v0.14.0
- v0.13.0
- v0.12.0
- v0.11.0
- v0.10.0
- v0.9.1
- v0.9.0
- v0.8.5
- v0.8.4
- v0.8.3
- v0.8.2
- v0.8.1
- v0.8.0
- v0.7.2
- v0.7.1
- v0.7.0
- v0.6.9
- v0.6.8
- v0.6.7
- v0.6.6
- v0.6.5
- v0.6.4
- v0.6.3
- v0.6.2
- v0.6.1
- v0.6.0
- v0.5.0
- v0.4.0
- v0.3.0
- v0.2.0
- v0.1.0
- dev-exclude-patterns
- dev-add-rules-for-cs-fixer
- dev-doctum
- dev-better-fixer-rules
- dev-add-client-fixer
- dev-bshaffer-patch-3
- dev-bshaffer-patch-1
- dev-move-sample-runner-into-php-tools
- dev-add-grpc-install
This package is auto-updated.
Last update: 2024-09-09 19:28:20 UTC
README
安装
将 google/cloud-tools
添加到您的 composer.json
文件的 require-dev
部分。
您还可以运行以下命令
$ composer require google/cloud-tools --dev
实用工具
flex_exec
CLI 脚本 src/Utils/Flex/flex_exec
是一个用于运行与在 App Engine Flex 上运行的应用程序相同的 Docker 镜像中的命令的工具。
它启动一个已部署的 App Engine Flexible App 的 Docker 镜像,并在该镜像中运行命令。例如,如果您正在运行 Laravel 应用程序,您可以在镜像中调用类似于 php artisan migrate
的命令。
如果 Flex 应用程序请求云 SQL 访问(beta_settings
、cloud_sql_instances
),此工具还提供对相同的 Cloud SQL 实例的连接。
该命令在 Google Cloud Container Builder 提供的虚拟机上运行,并具有访问 Cloud Container Builder 服务帐户凭证的权限。
先决条件
要使用 flex_exec,您需要
- 已部署到 Google App Engine Flex 的应用程序
- 已安装和配置 gcloud SDK。请参阅 https://cloud.google.com/sdk/
google/cloud-tools
composer 包
您可能还需要授予 Cloud Container Builder 服务帐户所需的所有权限。对于访问 Cloud SQL,您需要将 Cloud SQL 客户端
权限添加到服务帐户。
您可以在 Cloud Console 的 IAM 选项卡下找到服务帐户配置,名称为 [your-project-number]@cloudbuild.gserviceaccount.com
。
资源使用情况和计费
此工具使用 Google Cloud Container Builder 提供的虚拟机资源。尽管每天有一定数量的使用分钟数包含在免费层中,但超过该时间的额外计算使用将计费到您的 Google Cloud 帐户。有关更多详细信息,请参阅: https://cloud.google.com/container-builder/pricing
如果您的命令进行 API 调用或使用其他云资源,您也可能需要为此使用付费。但是,flex_exec
不使用实际的 App Engine 实例,您将不会为额外的 App Engine 实例使用付费。
示例
src/Utils/Flex/flex_exec run -- php artisan migrate
测试实用工具
Google\Cloud\TestUtils
命名空间中有各种测试实用工具。
测试示例
示例测试用例位于 test/fixtures/appengine-standard
目录中。
环境变量
有多个环境变量可以控制我们的测试特性的行为。
所有特性
GOOGLE_PROJECT_ID
:部署应用程序的项目 ID。GOOGLE_VERSION_ID
:部署应用程序的版本 ID。
AppEngineDeploymentTrait
GOOGLE_DEPLOYMENT_DELAY
:部署触发后等待的秒数,然后继续执行测试。GOOGLE_KEEP_DEPLOYMENT
:设置为true
以在测试完成后保持已部署的应用程序。GOOGLE_SKIP_DEPLOYMENT
:设置为true
如果您想跳过部署。RUN_DEPLOYMENT_TESTS
:设置为true
如果您想运行部署测试。
DevAppserverTestTrait
LOCAL_TEST_TARGETS
:如果您的测试需要多个服务,您可以指定多个 yaml 文件。PHP_CGI_PATH
:dev_appserver 运行的php-cgi
的路径。RUN_DEVSERVER_TESTS
:如果您想运行测试,请将其设置为true
。