讨论如何将 fsfans.club 网站构建迁移到 omnisrv

submitted by edited

hayden 留言希望 fsfans.club 网站的构建可以迁移到使用 omnisrv: https://codeberg.org/fsfans-cn/www/pulls/4#issuecomment-7760978

这不是我自己能做决定的事情,有一些细节需要大家讨论。

现状

目前 fsfans.club 使用 Dummy SSG 在 Codeberg Actions 自动构建,并将结果推送至 pages 分支。

omnisrv 是我自己开发的文档服务器,它最大的特色是文档使用模板静态映射,但用户可自由选择动态服务器、静态网站生成器、9P 服务器方案。

已经将 fsfans.club 的网站布局复刻至 omnisrv,效果良好: https://codeberg.org/fsfans-cn/www/pulls/4

问题

1. 网站构建方案

Dummy SSG 是 PHP 方案,在各环境直接安装 PHP 的二进制包即可开始构建;而 omnisrv 是 Go 程序,需要编译后使用。

  • 在 Actions 下编译 Go 程序需要下载 Go 工具链,同时也需要很多的服务器资源,对服务提供方 (Codeberg) 不太友好;
  • 直接下载编译好的 omnisrv 二进制,则需要大家信任二进制的提供者。(你们相信我的,对吧😉)

最近我建成了自己的构建床,像 omnisrv 等软件会利用 Webhooks 随最新的 commit 编译最新版,并放在这里: https://dl.unseen-site.fun/omnisrv/nightly/

目前有 sha256sum 确认发布文件的完整性。后续我会增加使用 Minisign 签名。

理想情况是使用可信任的、预构建的 omnisrv。也可提出其他建议。

2. 网站构建环境

编辑:已确定继续使用 Actions 构建网站。

结语

由于我还在处理论文等事宜,暂不在 fsfans 群聊活动。大家可以在群聊先行探讨,并在这里发表意见。

4
1

Log in to comment

4 Comments

要不就用 Actions 吧,这样还方便一些。因为原 Dummy SSG 的作者也不太活跃,我觉得换成 omniserv 应该会不错。

我想我可以自己开个测试仓库专门调试 deploy.yaml 然后 force push 一顿🤣

最新的 Pull Request 已经完成了 omnisrv-ssg 版的 publish.sh,也去掉了那个 actions/checkout

虽然现在就能 Merge 了,但还是先放上几天吧,我再看看 omnisrv 的设计是否还需要大改,以及怎么修改 Readme。

Just now got how to clone repos in Actions without the Node.js actions/checkout workflow:

# ...  
jobs:  
  deploy:  
    # ...  
    steps:  
      - name: Clone repository  
        run: |  
          git clone "https://oauth2:${GITHUB_TOKEN}@${GITHUB_SERVER_URL#*//}/${GITHUB_REPOSITORY}.git" .

Which even works for private repos.

You may also want more command-line arguments like --depth or --filter.

There are FORGEJO_* too; GITHUB_* are for compat.

You can also see other environment variables by running env in a test action.

Insert image