如何在 Linux 安裝 Fossil 版本控制系統

如何在 Linux 安裝 Fossil 版本控制系統
顯示 JavaScript 程式碼的電腦螢幕照片。

Fossil 是一個強大的 Linux 版本控制系統 (VCS)。本文將向您展示如何在 Ubuntu Linux 上安裝和部署 Fossil。

為什麼要使用 Fossil 而不是 Git

Fossil的最大賣點之一是它是一款用於線上管理原始碼的一體化套件。這對於只想與其他人共用單一儲存庫而不建立 Github 或 Gitlab 帳戶的使用者來說非常有用。

除此之外,Fossil 還非常靈活且非常容易自行託管。它可以作為系統中的單一靜態二進位檔案運行,也可以在獨立的 Docker 容器中運行。因此,進入 Fossil 並根據自己的需求進行調整非常簡單。

雖然 Fossil 和 Git 共享相同的操作語法,但 Fossil 提供了難以在 Git 中實現的附加功能。例如,Fossil 透過提供一個內部資料庫來追蹤先前和未來提交之間的引用,從而避免了「分離的 HEAD」問題。因此,與 Git 相比,Fossil 儲存庫更加無縫且無故障。

Fossil 相對於 Git 的另一個優勢是,它需要更少的依賴項和記憶體來運行,同時提供開箱即用的功能。 Fossil 實例有其討論板、wiki 和問題追蹤器。這使得 Fossil 成為任何想要「輕鬆」環境來開發和發布程式碼的人的整合解決方案。

取得 Fossil 的先決條件和 Docker

部署 Fossil 的第一步是取得 Docker 的儲存庫檔案。為此,請取得 Docker 專案的簽署金鑰:

在“/etc/apt/sources.list.d”下建立一個新檔案。這將包含 Ubuntu 將獲取 Docker 包的存儲庫連結:

將以下程式碼貼到新的儲存庫檔案中:

儲存 Docker 儲存庫文件,然後安裝核心快照包:

從電子前沿基金會下載 Certbot snap 套件:

執行以下命令刷新系統的軟體包清單:

安裝 Docker 和 Nginx 及其相依性套件:

在 Linux 中建置和安裝 Fossil

導覽至Fossil 的下載頁面,然後選擇最新穩定版本的來源 tarball。就我而言,我將下載 Fossil 的 2.23 版本。

螢幕截圖突出顯示了 Fossil 最新穩定版本的連結。

將來源 tarball 移至您的主目錄,然後解壓縮:

進入 tarball 的資料夾,然後使用您最喜歡的文字編輯器開啟 Fossil 的 Dockerfile:

向下捲動到文件底部,然後在該"--user", "admin"]行之前添加以下內容:

終端機突出顯示

儲存修改後的 Dockerfile,然後建立容器映像:

運行 Fossil 並建立 SSL 反向代理

您現在有一個新的 Fossil VCS 實例作為 Docker 容器在您的伺服器上運行。要存取它,您需要加密與 Fossil 的任何外部連接。

首先,建立一個新的 DNS「A」記錄,指向 Fossil 伺服器的 IP 位址。

顯示 Fossil 的 A DNS 記錄的螢幕截圖。

使用您最喜歡的文字編輯器為您的 Fossil 實例建立新的網站設定檔:

將以下程式碼區塊貼到新網站設定檔中:

將變數替換server_name為 Fossil 的子域。

顯示 Nginx 中的反向代理站點設定檔的終端。

為網站設定檔建立一個指向「/etc/nginx/sites-enabled/」的符號連結:

使用 systemctl 啟動系統的 Nginx 守護程式:

透過執行以下命令啟動新的 Fossil Docker 映像:

Ctrl按+開啟新的 Tmux 面板B,然後按下C。在內部,執行以下命令以向 Certbot 請求 SSL 憑證:

透過導航到您的子網域來測試您的 Fossil 執行個體是否可以透過網際網路存取。

顯示新安裝的 Fossil 實例的登入頁面的螢幕截圖。

創建您的第一個化石庫

Fossil 在 Linux 伺服器中啟動並運行後,您現在可以設定新實例。點擊主頁部分下的設定/配置連結。

螢幕截圖突出顯示

提供管理員帳戶的詳細信息,然後按一下登入。您可以在 Docker 容器的輸出日誌中找到管理員帳戶的密碼。

突出顯示管理員帳戶的隨機密碼的螢幕截圖。

在“項目名稱”“項目描述”文字方塊中填寫您的存儲庫詳細信息,然後單擊“應用更改”進行保存。

螢幕截圖突出顯示

克隆和使用您的化石儲存庫

要使用新的程式碼儲存庫,您需要先在電腦上建立它的副本。為此,請在 Linux 桌面上安裝 Fossil 的本機版本:

將整個存儲庫拉到您的電腦上並進入其存儲庫資料夾:

新增您的初始文件,然後將變更提交到您的 Fossil 儲存庫:

提供初始提交的詳細信息,然後透過建立以句點 (.) 開頭的新行來保存它。

顯示 Fossil 提交訊息格式的終端。

將本地變更推送到遠端化石儲存庫

預設情況下,Fossil 不為其遠端儲存庫提供任何寫入權限。您對本機儲存庫所做的任何變更都將保留在那裡,不會反映在您的 Fossil 實例中。

若要解決此問題,請前往 Fossil 實例的 Web 介面,然後以管理員帳戶身分登入。

點擊儀表板頂部選單上的“管理”類別。

顯示該位置的螢幕截圖

在管理員控制面板上選擇使用者。

螢幕截圖顯示

點擊“新增”為您的儲存庫建立一個新使用者。

顯示該位置的螢幕截圖

為您的新用戶提供使用者名稱和密碼。

勾選「功能」類別上的「開發人員」複選框,然後按一下「套用變更」以儲存您的新使用者。

顯示新 Fossil 使用者的預設提交者設定的螢幕截圖。

返回本地端,然後執行以下命令:

輸入 Fossil 使用者的密碼,然後按Enter將本機變更推送到遠端儲存庫。

透過導航至其 Web 介面確認您的遠端 Fossil 儲存庫已收到您的本地提交。

顯示自託管 Fossil 實例中的範例提交文件的螢幕截圖。

安裝和部署您自己的 Fossil 版本控制系統只是奪回線上資料控制權的第一步。了解如何透過使用 SimpleLogin 託管您自己的電子郵件別名伺服器來保護您的線上通訊。

圖片來源:Panjak Patel,來自 Unsplash。所有修改和螢幕截圖均由 Ramces Red 進行。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *