私有套件和組織

從 rebar3 版本 3.7.0 開始,可同時使用多個 Hex 儲存庫(或索引)。儲存庫會依序在排序好的清單中宣告,從優先順序最高到最低。

搜尋套件時,會按順序瀏覽儲存庫。只要找到符合描述的套件,就會下載該套件。每個找到的套件雜湊都保留在專案的鎖定檔中,這樣一來,即使儲存庫順序發生變更,而其中某些儲存庫最後包含相同名稱和版本配對但定義衝突的套件,也會只下載預期的套件。

如此一來,鏡像、私有儲存庫(由 hex.pm 提供)和自架主機索引都可以使用相同的機制。

發佈或使用私有套件

要發佈或使用私有儲存庫,您必須使用 rebar3_hex 外掛程式進行驗證,在 rebar3 組態中宣告私有組織(定義為 parent_repo:organization,請參閱下面的範例)為儲存庫後,請執行 rebar3 hex organization auth。驗證後會產生一個單獨的組態檔 ~/.config/rebar3/hex.config 來儲存金鑰。

{repos, [
  #{name => <<"hexpm:private_org">>}
]}.

要發佈到私有儲存庫,請使用 rebar3 hex publish -r hexpm:private_org

在 CI 和建置伺服器上驗證

您可以在貴組織的資訊面板上產生組織金鑰。

$ rebar3 hex organization auth hexpm:private_org -k <key>

然後,這可作為在您的 CI 伺服器上擷取套件的用途,而不需要使用使用者名稱和密碼手動驗證。