anystack-sh / porter
轻松启动您的开发后台进程。
v0.0.11
2023-05-15 13:08 UTC
Requires
- php: ^8.1
Requires (Dev)
- laravel-zero/framework: ^9.2
- laravel/pint: ^1.2
- mockery/mockery: ^1.4.4
- nunomaduro/termwind: ^1.14
- pestphp/pest: ^1.21.3
- phpxmlrpc/phpxmlrpc: ^4.9
- symfony/yaml: ^6.2
README
关于Porter
Porter 是一个命令行界面 (CLI) 工具,通过在配置文件中添加几行代码,可以轻松运行后台服务。这些服务由Supervisord进程控制系统管理,确保所有进程都处于运行状态。使用Porter,您无需在多个终端标签中手动启动和管理后台服务。相反,您只需使用 porter
命令即可在单个位置管理所有服务。
安装
要安装 Porter,您可以使用 composer
或从本存储库手动下载构建。
composer global require anystack-sh/porter
要求
要使用 Porter,您必须安装 supervisord
- macOS:
brew install supervisor
- Linux:
apt install supervisor
如果您想使用监视功能在文件更改时重启服务,您还需要安装
- chokidar:
npm install --global chokidar
添加您的第一个项目
在您的终端导航到您的项目,并运行 porter init
以创建一个模板 porter.yml
~/Developer/anystack: $ porter init Create porter.yml in /Users/Developer/anystack? (yes/no) [yes]: > yes Creating porter.yml boilerplate: ✔ Run "porter add" to add your product and start your services.
修改 porter.yml
并添加您想运行的服务。在您的终端导航到您的项目,并运行 porter add
~/Developer/anystack: $ porter add
Adding /Users/Developer/anystack: ✔
Restarting Porter: ✔
已创建一个新的 porter.yml
文件。该文件包含您想要在后台运行的所有服务,例如
services: - name: Queue command: php artisan horizon processes: 3 # Optional, number of parallel processes. Defaults to 1 restart: watch: - app/Jobs - app/Mail/WelcomEmail.php - name: Vite directory: Users/developer/anystack/front-end command: npm run dev environment: FOO: "BAR" - name: Octane command: php artisan octane:start --port=8000 --no-interaction - name: Stripe command: stripe listen --forward-to localhost:8000/webhooks/stripe restart: minutes: 5
每个命令都有以下属性
如果您已对 porter.yml
进行了修改,您可以使用 porter restart
命令应用您的更改。
监控服务
要监控您的服务,您可以使用 porter status
命令。
~/Developer/anystack: $ porter status +----------+-----------------+---------+---------------------------+ | App | Name | Status | Description | +----------+-----------------+---------+---------------------------+ | anystack | anystack-octane | RUNNING | pid 41277, uptime 0:03:29 | | anystack | anystack-queue | RUNNING | pid 41275, uptime 0:03:29 | | anystack | anystack-vite | RUNNING | pid 41276, uptime 0:03:29 | +----------+-----------------+---------+---------------------------+
跟踪服务日志
您可以使用 porter tail
命令跟踪一个或多个服务(统一)。此命令具有上下文感知能力,并将自动询问您想要跟踪哪些服务
~/Developer/anystack: $ porter tail Which service do you want to tail?: [0] anystack-octane [1] anystack-queue [2] anystack-vite > 0,1 Use CTRL+C to stop tailing. Horizon started successfully. INFO Server running… Local: http://127.0.0.1:8000 200 GET / ... 33.38 mb 79.10 ms
所有可用命令
由Anystack提供
Anystack 是一个一站式产品平台,帮助您通过编写代码谋生。将您的代码推送到 GitHub,我们将处理其余所有事情。 今天开始您的冒险之旅。
许可证
Porter 是开源软件,许可协议为 MIT 许可证。