設定代碼保留規則

本頁面提供相關操作說明,協助管理員或開發人員為管理及維護 Harbor 存放區建立及管理標記保留規則。Harbor 標記保留規則是一組政策,可自動管理及最佳化 Harbor 存放區中的映像檔標記。

您可以使用標記保留規則執行下列動作:

  • 釋出儲存空間:為避免累積不必要的資料,請定義規則,在特定期間內保留構件,或手動刪除未使用的映像檔標記。
  • 維持乾淨的存放區:只保留最新或相關的標記,以提升組織和探索能力。
  • 自動管理標記:避免手動刪除,簡化映像檔存放區的維護作業。

您可以透過標記保留規則,自動刪除不再需要的映像檔標記,藉此管理存放區中的映像檔。保留規則會依序透過三個步驟篩選標記,判斷要保留或刪除哪些圖片:

  1. 存放區:輸入存放區名稱。Harbor 會先套用存放區篩選器,然後將保留規則套用至符合存放區名稱的所有存放區。允許使用萬用字元,例如 *reporepo***。詳情請參閱「使用萬用字元模式套用篩選器」。舉例來說,您可以將存放區篩選器設為 **,表示納入專案中的所有存放區。
  2. 要保留的數量:輸入標記數量上限,或指定保留標記的最長期限。舉例來說,您可以設定保留政策,在每個存放區中保留最近提取的 10 個構件。
  3. 要保留的標記:輸入要保留的圖片標記名稱。Harbor 會將保留規則套用至符合輸入文字的映像檔標記。使用核取方塊選取是否要擷取未加上標記的構件,做為符合標記保留資格的構件集或沒有該名稱的標記。可以使用 *tagtag*** 等萬用字元。詳情請參閱「使用萬用字元模式套用篩選器」。

事前準備

建立代碼保留規則前,請務必備妥下列項目:

建立標記保留規則

Harbor 保留標記規則會依特定順序和邏輯執行。建立 Harbor 標記保留規則時,請遵守下列原則:

  • 請為存放區 (而非專案) 定義標記保留規則。為存放區定義保留規則時,請找出要保留的標記。
  • 請勿定義規則來明確移除標記。設定規則後,系統會捨棄存放區中您未標示為符合保留資格的任何標記。
  • 規則之間會使用 OR 演算法。

使用 Harbor 控制台建立標記保留規則:

  1. 使用具備專案管理員權限的帳戶登入 Harbor 控制台。
  2. 前往「專案」並選取專案。
  3. 在專案視窗中,按一下「政策」分頁標籤,然後點選「代碼保留」
  4. 按一下 [新增規則]。
  5. 在「存放區」選單中,選取「相符」或「排除」

    如果選取「相符」,Harbor 會將規則套用至您指定的存放區。如果選取「排除」,Harbor 會將規則套用至專案中的所有存放區,但您指定的存放區除外。

  6. 在「Repositories」(存放區) 方塊中,輸入要套用規則的存放區名稱。以下是文字輸入範例:

    • 存放區名稱,例如 example_repo_1
    • 以半形逗號分隔的存放區名稱清單,例如 example_repo_1,example_repo_2,example_repo_3
    • 含有萬用字元 (例如 example_**_3*_repo_*) 的部分存放區名稱。
    • 如要將規則套用至專案中的所有存放區,請使用萬用字元 **
    • 詳情請參閱「使用萬用字元模式套用篩選器」。
  7. 在「依構件數量或天數」選單中,選取要保留的標記數量或保留標記的期限。選取下列其中一個選項:

    • 保留最近推送的 # 個構件:保留特定數量的構件,並優先保留最近推送的構件。文物沒有年齡限制。
    • 保留最近提取的 # 個構件:保留特定數量的構件,並優先保留最近提取的構件。構件沒有年齡限制。
    • 保留最近 # 天內推送的構件:保留指定時間範圍內推送的構件。構件數量沒有限制。
    • 保留最近 # 天內提取的構件:保留指定時間範圍內提取的構件。構件數量沒有限制。
    • 一律保留:一律保留符合這項規則的構件。
  8. 在「代碼」選單中,選取「相符」或「排除」

    如果選取「相符」,Harbor 會將規則套用至您識別的標記。如果選取「排除」,Harbor 會將規則套用至存放區中的所有標記,但您指定的標記除外。

  9. 在「標記」方塊中,輸入要套用規則的標記名稱。

    以下是文字輸入範例:

    • 標記名稱,例如 example_tag_1
    • 以半形逗號分隔的標記名稱清單,例如 example_tag_1,example_tag_2,example_tag_3
    • 含有萬用字元的部分標記名稱,例如 example_**_3*_tag_*
    • 如要將規則套用至專案中的所有標記,請使用萬用字元 **
    • 詳情請參閱「使用萬用字元模式套用篩選器」。
  10. 如要儲存規則,請按一下「新增」

  11. 選用:如要新增更多規則,請按一下「新增規則」。每個專案最多可新增 15 項規則。

  12. 選用:在「Schedule」(排程) 選單中,按一下「Edit」(編輯),然後選取規則的執行頻率。如果選取「自訂」,請輸入 cron 工作指令來排定規則。 如果您定義多項規則,Harbor 會將時間表套用至所有規則。您無法安排在不同時間執行不同規則。

  13. 如要測試您定義的規則,請按一下「模擬執行」

  14. 如要立即執行規則,請按一下「立即執行」

使用萬用字元模式套用篩選器

Harbor 使用雙星模式比對。萬用字元模式是特殊字元或序列,用於比對或代表字串中的一或多個字元。建立標籤保留規則時,如要將篩選器套用至存放區或標籤名稱,請使用萬用字元模式。萬用字元提供下列功能:

  • 代表一或多個字元,但不必明確指定。
  • 使用常見的萬用字元,例如:

    • *:比對零個或多個字元。
    • ?:比對任何單一字元。

    舉例來說,file* 會比對所有以 file 開頭的檔案名稱。

  • 可進行彈性比對,在不知道確切字元時非常實用。

指定標記保留規則時,請使用下列支援的萬用字元模式:

模式 說明
* 比對任何非路徑分隔符號的序列。
** 比對零或多個目錄。
? 比對任何單一非路徑分隔符字元。
[class] 比對字元類別中的任何單一非路徑分隔符字元。詳情請參閱「使用字元類別套用篩選器」。
{alt1,...} 如果以逗號分隔的替代方案中,有一個與字元序列相符,就會比對該字元序列。

如要進一步瞭解雙星模式比對,請參閱 https://github.com/bmatcuk/doublestar

使用字元類別套用篩選器

字元類別和萬用字元都用於模式比對。建立標籤保留規則時,如要對存放區或標籤名稱套用篩選器,請使用字元類別。與萬用字元模式相比,字元類別提供下列功能:

  • 定義一組可在特定位置比對的特定字元。
  • 使用方括號 ([]) 括住集合。例如,[aeiou] 可比對任何單一母音。
  • 明確列出允許的字元,可實現更精確的相符。

使用下列字元類別篩選存放區,並設定保留規則:

類別 說明
[abc] 比對集合中的任何單一字元。
[a-z] 比對範圍內的任何單一字元。
[^class] 比對不符合類別的任何單一字元。
[!class] 否定類別。

更新現有的標記保留規則

如要修改現有規則,請使用規則旁的「動作」選單停用、編輯或刪除該規則。

使用 Harbor 控制台修改現有標記保留規則:

  1. 使用具備專案管理員權限的帳戶登入 Harbor 介面。
  2. 前往「專案」並選取專案。
  3. 在專案視窗中,按一下「政策」分頁標籤,然後點選「代碼保留」
  4. 如要修改現有規則,請使用「動作」選單選取下列其中一個選項:

    • 停用:停用規則。您稍後可以重新啟用這項規則。
    • 編輯:更新現有規則的設定。
    • 刪除:完全移除規則。