webid/radis

Radis - 几秒内部署应用程序

资助包维护!
web-id-fr

安装量: 36,181

依赖项: 0

建议者: 0

安全性: 0

星星: 12

观察者: 8

分支: 1

开放问题: 2

类型:项目

0.0.22 2022-11-10 09:28 UTC

This package is auto-updated.

Last update: 2024-09-27 18:26:01 UTC


README

先决条件

  • PHP 7.4 或更高版本

安装

使用 composer 需求此包。建议只为开发需求安装此包。

composer require webid/radis --dev

Laravel 使用包自动发现,因此不需要手动添加 ServiceProvider。

使用 publish 命令发布包配置和模板

php artisan vendor:publish --provider="WebId\Radis\RadisProvider"

配置

1. 配置

您需要首先配置环境变量以在 config/radis.php 中访问 Forge。

首先,在此处创建一个新的令牌: https://forge.laravel.net.cn/user/profile#/api 并将生成的复制品粘贴到 .env 文件中

RADIS_TOKEN="my-brand-new-forge-token"
return [
    'forge' => [
        'token' => env('RADIS_TOKEN'),
        'server_name' => env('RADIS_SERVER_NAME'),
        'server_domain' => env('RADIS_SERVER_DOMAIN'),
        'site_php_version' => env('RADIS_SITE_VERSION', 'php80'),
        'database_password' => env('RADIS_DATABASE_PASSWORD', 'root'),
        'lets_encrypt_type' => env('RADIS_LETS_ENCRYPT_TYPE'),
        'lets_encrypt_api_key' => env('RADIS_LETS_ENCRYPT_API_KEY'),
        'timeout' =>  env('RADIS_FORGE_TIMEOUT'),
    ],
    
    'git_repository' => env('RADIS_GIT_REPOSITORY')
];

lets_encrypt_typelets_encrypt_api_key 不是必需的,但对于自动 HTTPS 是必需的。例如在 digitalocean 上(https://docs.digitalocean.com/reference/api/create-personal-access-token/

RADIS_LETS_ENCRYPT_TYPE=digitalocean
RADIS_LETS_ENCRYPT_API_KEY=EXEMPLE98edb566f9917d797fba2c0b05e2f2064ad7771422740181561322961

通配符证书

由于 Let's Encrypt 关于在注册域名上创建过多证书的限制(每周 50 个)(50 per week),如果在 Forge 的父站点上设置了通配符证书(通配符证书设置),则将自动用于审查应用程序,而不是创建一个新的特定证书。

2. .env 模板

之后,您需要通过修改模板 stubs/env.stub 来适应您审查应用程序所需的 .env 文件。

不要更改以 STUB_ 开头的常量,它们将根据您的配置自动替换,或者根据 artisan 命令提供的参数替换。

3. 部署脚本模板

最后,您需要根据您的项目在模板 stubs/deployScript.stub 中调整 Forge 部署脚本。

用法

创建审查应用程序

⚠️ 如果已经存在具有此名称的审查应用程序,则将销毁并重新创建

php artisan radis:create mySiteName myGitBranch
php artisan radis:create mySiteName myGitBranch customDatabaseName

更新现有审查应用程序

这将仅启动部署脚本

php artisan radis:update mySiteName

销毁审查应用程序

⚠️ 这将删除数据库及其相关用户数据库

php artisan radis:destroy mySiteName

更新 .env 文件

php artisan radis:env mySiteName
php artisan radis:env mySiteName customDatabaseName

更新部署脚本

ℹ️ 这将更新脚本但不运行它

php artisan radis:deploy-script mySiteName myGitBranch

致谢