swichers / acsf-client
此软件包已被弃用且不再维护。未建议替代软件包。
Acquia ACSF 平台的客户端库。
1.0.3
2020-12-30 06:01 UTC
Requires
- php: >=7.2
- ext-json: *
- doctrine/annotations: ^1.7
- symfony/config: ^4.3
- symfony/dependency-injection: ^4.3
- symfony/dotenv: ^4.4
- symfony/finder: ^4.3
- symfony/http-client: ^4.3
- symfony/yaml: ^4.3
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.1
- drupal/coder: ^8.3
- phpunit/phpunit: ^8.5 || ^6.5
This package is auto-updated.
Last update: 2021-10-24 03:25:27 UTC
README
一个基于 Symfony 的 PHP 库,用于与 ACSF 平台交互。
Acquia Cloud Site Factory 是 Acquia 提供的托管平台。该库的目标是将 ACSF API 封装起来,使其在 PHP 应用程序中变得非常简单易用。在简化与 ACSF 交互方面,该库是一项重大福音。使用此库将有助于实现更快速、更少错误的部署过程。
注意:该库中的测试覆盖率主要针对 API 调用的验证,而不是与实际 ACSF API 的交互。并非所有封装的端点都经过验证为正确实现,API 的实时调用可能产生意外结果。在针对实时环境执行之前,请审查所有脚本和调用以确保正确行为。
为什么使用此项目?
您可能已经熟悉像 ACSF Tools 或 Acquia CLI 这样的项目,并想知道这个项目相比它们有哪些优势。
特性 | ACSF 客户端 | ACSF 工具 | Acquia CLI |
---|---|---|---|
PHP 库 | ✅ | ❌ | ❌ |
支持 Site Factory | ✅ | ✅ | ❌ |
支持 Acquia Cloud | ❌ | ❌ | ✅ |
ACSF API 的完整实现 | ✅ | ❌ | ❌ |
Cloud API 的完整实现 | ❌ | ❌ | ✅ |
可以与代码库捆绑 | ✅ | ✅ | ❌ |
可以作为独立库使用 | ✅ | ✅ | ✅ |
适用于脚本设计 | ✅ | ❌ | ❌ |
适用于特定任务设计 | ❌ | ✅ | ❌ |
此项目的核心用途是创建自定义 PHP 脚本,以自动化您在 ACSF 中的开发和管理工作流程。您可以在 ACSF UI 中完成的任何事情都应通过此库实现。
您可以使用此库自动化的常见任务
- 带有自定义名称的常规完整备份
- 符合特定条件的备份常规修剪
- 将回滚/预发布到较低环境,包括代码部署
- 包括备份、回滚和部署的生产部署
- 在回滚后重新创建较低环境中的域名
- 从您的 CI 系统启动部署
示例 文件夹包含一些常见任务的脚本。它们可以作为构建更复杂工作流程的起点,该工作流程根据您的项目进行了定制。
安装
需求
- PHP >= 7.2
- 对 ACSF 的 API 访问
- Composer 用于依赖安装
当使用 Composer 时,安装应很简单。
composer require swichers/acsf-client
使用
examples 文件夹中有许多入门脚本。
<?php declare(strict_types=1); require 'vendor/autoload.php'; use swichers\Acsf\Client\ClientFactory; $base_config = [ 'username' => 'example.user', 'api_key' => 'example.key', 'site_group' => 'example.group', 'environment' => 'live', ]; // There are multiple ways to create a client, including from // environment variables (recommended). View the ClientFactory // class for details. $client = ClientFactory::createFromArray($base_config); // Check the service status. print_r($client->getAction('Status')->ping());
开发
运行测试
$ vendor/bin/phpunit
检查代码格式
$ vendor/bin/phpcs