tzurbaev / laravel-forge-api
Laravel Forge API SDK
2.4.0
2021-04-16 03:09 UTC
Requires
- php: >=7.2
- guzzlehttp/guzzle: ^6.3|^7.0
Requires (Dev)
- mockery/mockery: ^1.2
- phpunit/phpunit: ^8.2
README
需求
此包需要PHP 7.2或更高版本。
安装
您可以通过composer安装此包
$ composer require tzurbaev/laravel-forge-api
从1.x升级到2.0
2.0.0版本对库API进行了重大更改,以修复Forge API自身引入的破坏性更改。
请阅读升级信息以了解更改内容。
示例
以下是此包可以为您做什么的一些示例。
创建新服务器
<?php use Laravel\Forge\ApiProvider; use Laravel\Forge\Forge; $forge = new Forge(new ApiProvider('api-token')); $credential = $forge->credentialFor('ocean2'); // This will create new droplet on DigitalOcean with 1GB memory, // PHP 7.1 and MariaDb at Frankfurt region. $server = $forge->create() ->droplet() ->usingCredential($credential) ->withSizeId(1) ->at('fra1') ->runningPhp('7.1') ->withMariaDb() ->save();
创建新站点
<?php use Laravel\Forge\Forge; use Laravel\Forge\ApiProvider; use Laravel\Forge\Sites\SitesManager; $forge = new Forge(new ApiProvider('api-token')); $server = $forge['web-01']; // This will create new example.org site // with General PHP/Laravel project type. $site = (new SitesManager())->create('example.org')->asLaravel()->on($server);
在站点上安装Git/WordPress应用程序
<?php use Laravel\Forge\Forge; use Laravel\Forge\ApiProvider; use Laravel\Forge\Sites\SitesManager; use Laravel\Forge\Applications\GitApplication; $forge = new Forge(new ApiProvider('api-token')); $server = $forge['web-01']; $siteId = 1234; $site = (new SitesManager())->get($siteId)->from($server); $app = (new GitApplication())->fromGithub('username/repository'); $site->install($app);
重启MySQL
<?php use Laravel\Forge\Forge; use Laravel\Forge\ApiProvider; use Laravel\Forge\Services\MysqlService; use Laravel\Forge\Services\ServicesManager; $forge = new Forge(new ApiProvider('api-token')); $databaseServer = $forge['database-01']; $services = new ServicesManager(); $services->restart(new MysqlService())->on($databaseServer);
或者在多个服务器上重启MySQL(或任何其他服务)
<?php use Laravel\Forge\Forge; use Laravel\Forge\ApiProvider; use Laravel\Forge\Services\MysqlService; use Laravel\Forge\Services\ServicesManager; $forge = new Forge(new ApiProvider('api-token')); $servers = [ $forge['database-01'], $forge['database-02'], $forge['database-03'], ]; $services = new ServicesManager(); $services->restart(new MysqlService())->on($servers);
文档
完整的文档可在此处找到。
变更日志
请参阅CHANGELOG了解最近更改的更多信息。
测试
$ vendor/bin/phpunit
贡献
请参阅CONTRIBUTING以获取详细信息。
安全性
如果您发现任何安全相关问题,请通过电子邮件zurbaev@gmail.com联系,而不是使用问题跟踪器。
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。