部署網站

F-Droid 網站是使用 Jekyllgitlab-ci構建的。整個網站現在使用標準的 git“復刻”工作流程工作,GitLab 很好地支援該工作流程,並且由 GitHub 等服務眾所周知。對於 f-droid.org 分發的所有頁面和有關應用程式和軟體包的資訊,這些頁面是使用我們的 jekyll-fdroid 外掛程式生成的,該外掛程式從 f-droid.org 索引檔案獲取內容。

開發復刻上的暫存

fdroid-website 的所有開發分支都會自動設定一個臨時伺服器,並由 gitlab-ci 配置維護。這會自動將分支的 master 分支的內容部署到 GitLab Pages。例如,nicoalt 的 git 分支是在 https://gitlab.com/nicoalt/fdroid-website,並且 master 分支自動的部署到 https://nicoalt.gitlab.io/fdroid-website

官方網站的暫存

和復刻一樣,網站主 git 軟體庫的 master 分支,https://gitlab.com/fdroid/fdroid-website,會自動部署到 https://fdroid.gitlab.io/fdroid-website。這是一個在旗標發布前檢視網站當前狀態的地方。

部署到 https://f-droid.org

當網站的更新經過測試並準備就緒時,發布管理員會在主 git 軟體庫中建立一個有 PGP 簽名的發布標籤。部署伺服器監控主 git 軟體庫中的新標籤。當它看到一個新標籤時,它首先使用手動配置的 GnuPG 密鑰環檢查 git 標籤上的 PGP 簽名,該密鑰環只包含允許旗標網站發布的PGP 密鑰的公鑰。

git 標籤驗證後,執行 .gitlab-ci.yml 中的 f-droid.org 目標以生成站點的實際檔案。然後將這些檔案複製到 f-droid.org 伺服器上。

部署標籤使用了一個“語義版本”命名方案:

  • <major>.<minor>
  • _\_ 在每次部署時都會遞增
  • _\_ 只在有重大變化時遞增