mpociot/blacksmith

非官方的 Laravel Forge API

0.3.1 2016-11-21 12:50 UTC

This package is auto-updated.

Last update: 2024-08-24 10:02:38 UTC


README

Laravel Forge 真的是非常棒,对吧?是的,它很棒 - 但它缺少一个东西 - 一个合适的 API。

这就是为什么这个库存在的原因 - Blacksmith 是一个非官方的 Laravel Forge API,用于自动化常见任务。

API 仍在改进,我会根据需要不断添加功能。

入门指南

use Mpociot\Blacksmith\Blacksmith;

$blacksmith = new Blacksmith($email, $password);

可用方法

获取所有活动服务器

返回一个 Server 对象的集合。

$activeServers = $blacksmith->getActiveServers();

获取所有服务器的所有站点

返回一个 Site 对象的集合。

$sites = $blacksmith->getSites();

通过其 ID 获取服务器

返回一个单一的 Server 对象。

$server = $blacksmith->getServer(1);

向 Forge 添加服务器

返回一个带有配置 URL 的单一 Server 对象。

以下示例将创建一个带有自定义供应商的负载均衡器

$server = $blacksmith->addServer([
    'backups' => false,
    'database' => 'forge',
    'hhvm' => false,
    'ip_address' => '94.212.124.121',
    'maria' => false,
    'name' => 'harmonious-lagoon',
    'nodeBalancer' => true,
    'old_php' => false,
    'php_version' => 'php70',
    'private_ip_address' => '10.0.0.2',
    'provider' => 'custom',
    'size' => '2',
    'timezone' => 'Europe/Berlin',
]);

通过其 ID 获取站点

返回一个单一的 Site 对象。

$site = $blacksmith->getSite(1);

获取所有圈子

返回用户的所有 Circle 对象的集合。

$circles = $blacksmith->getCircles();

通过其 ID 获取圈子

返回一个单一的 Circle 对象。

$circle = $blacksmith->getCircle(1);

添加新的圈子

返回一个单一的 Circle 对象。

$circle = $blacksmith->addCircle('Name of Circle');

获取所有食谱

返回一个 Recipe 对象的集合。

$recipes = $blacksmith->getRecipes();

通过其 ID 获取食谱

返回一个单一的 Recipe 对象。

$recipe = $blacksmith->getRecipe(1);

添加新的食谱

返回一个单一的 Recipe 对象。

$recipe = $blacksmith->addRecipe('RecipeName', 'root', 'Recipe contents');

服务器方法

获取站点

返回服务器上的 Site 对象的集合。

$sites = $server->getSites();

添加新的站点

返回新创建的 Site 对象,或者在发生错误时抛出异常。

$newSite = $server->addSite($site_name, $project_type = 'php', $directory = '/public', $wildcards = false);

添加新的 SSH 密钥

将 SSH 密钥添加到服务器

$server->addSSHKey('Name SSH key', 'Contents of SSH key');

从服务器中删除 SSH 密钥

$server->removeSSHKey(1);

更新元数据

更新当前站点的元数据,并返回一个更新的 Server 对象,或者在发生错误时抛出异常。

$server = $server->updateMetadata($server_name, $ip_address, $private_ip_address, $size);

获取计划作业

返回服务器上的 ScheduledJob 对象的集合。

$jobs = $server->getScheduledJobs();

添加新的计划作业

返回新创建的 ScheduledJob 对象,或者在发生错误时抛出异常。

$newJob = $server->addScheduledJob($command, $user = 'forge', $frequency = 'minutely');

toArray

返回包含所有可用服务器信息的数组。

$data = $server->toArray();

站点方法

获取环境

返回配置的 .env 文件

$env_content = $site->getEnvironment();

安装应用程序

将应用程序安装并部署到站点。

$site->installApp($repository, $provider = 'github', $branch = 'master', $composer = true, $migrate = false);

部署应用程序

在此站点上部署应用程序。

$site->deploy();

获取最后部署日志

返回此站点的最后部署日志。

$site->deployLog();

toArray

返回包含所有可用站点信息的数组。

$data = $site->toArray();

圈子方法

通过电子邮件邀请成员

返回一个新鲜的 Circle 对象,或者在发生错误时抛出异常。

$circle = $circle->inviteMember('email@company.com');

设置所有圈子成员

如果您想删除成员,请更新圈子并包含所有成员 ID。它将返回一个新鲜的 Circle 对象。

$circle = $circle->setMembers([1,2]);

设置所有圈子服务器

如果您想向圈子添加或删除服务器,请更新圈子并包含所有服务器 ID。它将返回一个新鲜的 Circle 对象。

$circle = $circle->setServers([1,2]);

食谱方法

更新食谱

$recipe = $recipe->update($name, $user, $script);

许可证

Blacksmith 是在 MIT 许可证条款下分发的免费软件。