合并到 main。 已上线。
Deploydz 在 Mac 菜单栏中运行你的自托管 GitHub Actions 运行器。合并到 main,部署就在你自己的 Mac 上运行,不耗 Actions 分钟数,时钟旁边的云朵会显示结果。
合并
GitHub Actions 负责调度。你的 Mac 用它自己的工具和密钥完成工作。
- 你合并到 main。GitHub 把仓库的部署工作流排入队列。
- 你的 Mac 接手。工作流运行在
[self-hosted, deploy]上,也就是 Deploydz 一直保持运行的运行器,并上传网站。 - 菜单栏显示结果。Deploydz 每 2 秒读取一次每次部署的状态和日志,上线时会发送通知。
on:
push:
branches: [main]
jobs:
deploy:
runs-on: [self-hosted, deploy]
steps:
- uses: actions/checkout@v4
# feeds the menu bar
- run: |
~/www/actions-runner/deploy.sh \
mysite ./deploy.sh
你的 Mac
它现在就是构建服务器,Deploydz 让它一直运转。
- 一个应用运行所有运行器
- 登录时 Deploydz 会启动你的运行器,重新启动停下的那个,退出时把它们全部停止。不需要为每个运行器配置 LaunchAgent。
- 每次部署一目了然
- 每个网站都会显示上次部署的情况:何时上线、已等待多久,或在哪一行失败。它的子菜单可以在 GitHub 上打开运行记录,或打开部署日志。
- 应用发布也一样
- 在你的 Mac 上构建的应用会显示版本和最新发布:正在进行的步骤、“2 小时前已发布”,或失败的那一步。
- 一键添加运行器
- 选择一个仓库,以及它是网站还是应用。Deploydz 会下载运行器,用
gh注册并启动它。 - 公开仓库也安全
- 为公开仓库添加运行器后,来自复刻的拉取请求需要等待你的批准,陌生人的复刻就无法在你的 Mac 上运行。
- 不耗 Actions 分钟数
- 自托管运行是免费的,发布和下载也是。没有任何内容在 GitHub 的机器上运行,所以不会产生费用。
安装
- 下载 DMG,把 Deploydz 拖到“应用程序”。它经过签名和公证。
- 打开它。首次启动会打开“登录时启动”,云朵会出现在时钟旁边。
- 添加运行器。在“设置”中,+ 可以选择你的一个仓库,以及它是网站还是应用。
- 让工作流指向它。网站的
deploy.yml运行在[self-hosted, deploy]上,应用的release.yml中的 Mac 作业运行在[self-hosted, macOS, release]上。
帮助
会消耗 GitHub Actions 分钟数吗?
不会。自托管运行是免费的。在 GitHub 的账单设置中把 Actions 预算保持为 $0,这样万一有作业落到 GitHub 自己的机器上,它会失败,而不是产生费用。
来自复刻的拉取请求能在我的 Mac 上运行代码吗?
没有你的同意就不能。为公开仓库添加运行器时,Deploydz 会让来自复刻的拉取请求等待你的批准。
菜单中没有“应用”。
Deploydz 通过 gh 向 GitHub 查询发布,所以请用 gh auth status 检查它是否已登录。
某个运行器在“运行器”下显示 ○。
它停止了,Deploydz 会在 10 秒内重新启动它。如果它一直停止,请查看该运行器文件夹中的 _diag/deploydz.log。
退出时运行器会怎样?
它们会随 Deploydz 一起停止,并在它打开时重新启动。菜单中的停止运行器可以暂停所有运行器而不退出。
它如何更新?
检查更新…会下载新版本,并且只有在由同一开发者签名时才会安装。有部署或发布正在进行时它会等待,因为重新启动 Deploydz 会停止运行器。
工作流可以安装或更新 Deploydz 吗?
不可以。重新启动 Deploydz 会停止所有运行器,包括工作流所在的那个。请手动安装,或使用检查更新…。
上线
下载 Deploydz,添加一个运行器,你的下一次合并就会自行部署。