#部署 #orbit #服务器 #laravel #php #零停机时间 #github

app orbit-server

Orbit为您的Laravel应用程序提供简单且安全的零停机时间部署

1个不稳定版本

0.1.0 2024年7月23日

#263 in Web编程

Download history 100/week @ 2024-07-21 20/week @ 2024-07-28

120 每月下载量

MIT 许可证

27KB
690

🛰️ 将您的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操作

为了使部署对最终用户更容易,Orbit还包括了一个CLI,它提供了用户友好的实时输出部署。如果您想从GitHub Actions运行它,它还打包了自己的GitHub操作,使零停机时间部署成为一行更改。

许可证

本项目采用MIT许可证 - 有关详细信息,请参阅LICENSE文件

依赖关系

~24–39MB
~602K SLoC