anystack-sh/porter

轻松启动您的开发后台进程。

安装: 548

依赖: 0

建议者: 0

安全: 0

星标: 534

关注者: 4

分支: 11

开放问题: 10

类型:项目

v0.0.11 2023-05-15 13:08 UTC

This package is auto-updated.

Last update: 2024-09-15 16:13:31 UTC


README

Total Downloads Latest Stable Version License

关于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 许可证