1 个不稳定版本

0.1.0 2024年7月23日

#1206 in 网页编程

Download history 102/week @ 2024-07-21 23/week @ 2024-07-28

每月125次下载
用于 orbit-cli

MIT 许可证

8KB
83 代码行

🛰️ 将您的 Laravel 网站放入 Orbit。

Orbit 提供了一种简单的方法,只需几秒钟即可将您的 Laravel 网站部署到您的服务器。

开始使用

  1. 在您的 VPS 上运行 Orbit 服务器。您需要一个 GitHub 令牌 和服务器二进制文件(还有一个 Docker 镜像)。

    Orbit 服务器公开了一个 HTTP API,您需要将其提供给外部世界。

  2. 创建一个 Orbit.toml 配置文件,并将您的网站添加到其中,如下所示
version = 1
token = ""  # Use `openssl rand -base64 32` to generate a random token

[[sites]]
name = "Test Site"
path = "/var/www/test-site"
github_repo = "m1guelpf/laravel-test"
commands = [ # Extra commands to run during the deployment (optional)
    "php horizon:terminate"
]
  1. 创建一个 .github/workflows/deploy.yaml GitHub 操作,如下所示
name: Deploy to prod
on:
    push:
        branches: [main]

jobs:
    deploy:
        runs-on: ubuntu-latest
        steps:
            - name: Deploy to prod
              uses: m1guelpf/orbit@main
              with:
                  site: alexandria # slug of your site, generated from the name above
                  orbit-url: ${{ secrets.ORBIT_URL }} # URL to your Orbit instance
                  orbit-token: ${{ secrets.ORBIT_TOKEN }} # The token you generated on your Orbit config
  1. 这样就完成了!现在将代码推送到 main 将部署您的网站,而不会对用户造成任何中断 🎉

架构

🌐 Orbit 服务器

Orbit 服务器是系统的核心组件。它公开了一个 HTTP API,允许您触发部署并将结果实时流回。这是包含部署网站逻辑的模块。

🌠 Orbit 客户端

为了简化与服务器交互,Orbit 客户端提供了一个简单的 Rust 接口,用于调用 API、处理序列化等。如果您想编写自己的 Orbit 集成,它将允许您将服务器视为另一个 crate 进行交互。

🐙 Orbit CLI & GitHub Action

为了简化最终用户的部署,Orbit 还包括一个 CLI,它提供了用户友好的实时部署输出。如果您想从 GitHub Actions 中运行它,它还包括一个自己的 GitHub Action,使得零停机部署只需一行更改。

许可证

本项目采用 MIT 许可证 - 请参阅 LICENSE 文件 了解详细信息。

依赖关系

~5–16MB
~225K SLoC