簡介

在上一篇文章中,我們已經成功創建了一個 Backstage 應用。接下來,我們將探討如何將專案引入 Backstage,這是整個平台的核心功能之一。掌握這部分內容,能在後續開發插件及應用時更加得心應手。畢竟,Backstage 的主要特點正是整合來自各處的服務資訊,而專案引入的基本設定是整個流程中的關鍵步驟。

軟體目錄 (Software Catalog)

在開始開發之前,必須提到 Backstage 的核心之一——軟體目錄 (Catalog)。它能支援連結各種型態的軟體或平台,無論是主機、網站,還是資料庫,而其中最關鍵的功能就是將我們的專案與平台連結。這一切都是透過元數據檔案 (metadata YAML files) 來定義和管理的。你可以將這些檔案與 Backstage 專案一同部署,或者放置於網路位置 (如 GitHub) 上。Backstage 會讀取這些檔案,將內容存入資料庫,並由前端自動呈現其相關資訊。

Catalog 概念圖 / 圖片來源- https://backstage.io

Catalog 概念圖 / 圖片來源- https://backstage.io

Backstage Catalog 相關名詞解釋

由於這塊的名詞會比較多且意義相近,我們先簡單整理一下

  1. 軟體目錄 (Software Catalog): 軟體目錄是 Backstage 中的一個核心功能之一,提供了一個統一的界面,來瀏覽、搜尋和管理組織內不同的軟體和服務。

  2. 元件 (component) :

    軟體目錄中的基本單位,通常代表一個可獨立部署或管理的軟體。可以是應用程式、API、資料庫、主機或其他等等。元件通常包含詳細的狀態資訊。

  3. 實體 (Entity)

    在 Backstage 中任何單位或是對象,都是以實體的概念呈現,元件會有一個實體、使用者會有一個實體、團隊也有一個實體…其基底都是以元數據檔案所構成。

  4. 元數據檔案 (Metadata Files)

    包含有關 Backstage 中實體的詳細信息的文件,檔案通常以 YAML 格式存在,描述了實體的屬性、關聯、配置等資訊。作為 Backstage 中最底層的概念存在,其格式的正確與否可說是牽一髮動全身。

  5. 孤立數據 (Orphaned Data)

    當元數據檔案被移動、重命名、刪除,不再被任何單位引用或關聯,從而導致實體變成孤立數據,這些資料對 Backstage 沒有用處,需要定期清理以保持目錄的整潔。

查看實體的元數據檔案

當我們首次啟動 Backstage 時,會看到範例元件 example-website,這個實體在這裡被定義為一個網站類型。另外畫面上所顯示的資訊,都是可以透過元數據進行設定的。我們也可以點擊右上方的「更多選項」圖標,選擇 Inspect entity 來查看 YAML 設定檔的樣子,其中部分設定是由 Backstage 自動產生並加入的,我們不需要手動填寫所有內容。

Untitled

元數據檔案 (Metadata Files)

app-config.yaml 設定檔中,catalog 的設定幫助 Backstage 準確地找到並導入實體數據,並顯示經允許的相關分類資訊,簡單講解一下這部分的設定。

import 部分