Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022
在 Azure Artifacts 中使用上游來源可讓您從單一摘要管理所有應用程式相依性。 它簡化了從公共註冊中心(如NuGet.org 或 npmjs.com)取用套件的過程,同時也提供防止中斷或套件遭入侵的保護。 您也可以將自己的套件發佈至相同的來源,並在一個位置管理所有的相依套件。
本教學課程會引導您在來源中啟用上游來源,並從公用登錄(例如NuGet.org或npmjs.com)取用套件。
先決條件
建立資訊流並啟用上游來源
登入您的 Azure DevOps 組織,然後瀏覽至您的專案。
選取 [ 成品],然後選取 [ 建立摘要 ] 以建立新的摘要。
為您的饋送提供名稱,選擇其可見度和範圍,並確保勾選包含來自通用公共來源的套件複選框來啟用上游來源。
完成後,按下[建立]。
這很重要
若要將來自不同組織的摘要新增為上游來源,目標摘要擁有者必須透過流覽至 [摘要設定],[檢視] 節點,選取指定檢視右側的省略號按鈕,[編輯],然後與所有與我的 Microsoft Entra 租戶相關聯的組織中的摘要和人員共用目標檢視。
使用資訊流進行驗證
既然您已建立摘要,請根據您使用的技術選取適當的索引標籤,並遵循指示來設定組態檔並連線到您的摘要:
登入您的 Azure DevOps 組織,然後瀏覽至您的專案。
選取 [工件],從下拉功能表中選取您的訊息來源,然後選取 [連線至訊息來源]。
從左側瀏覽窗格中選取 npm ,然後遵循 [項目設定 ] 區段中提供的指示來設定組態檔。 如果您還沒有 .npmrc 檔案,請在專案的根目錄中建立新的檔案(與 package.json相同的資料夾)。 開啟新的 .npmrc 檔案,並貼上所提供的代碼段。
登入您的 Azure DevOps 組織,然後瀏覽至您的專案。
選取 [工件],從下拉功能表中選取您的訊息來源,然後選取 [連線至訊息來源]。
從左側瀏覽窗格中選取 [NuGet.exe ],然後複製 [ 項目設定 ] 區段中提供的 XML 代碼段。
在專案的根目錄中建立新的 nuget.config 檔案,並貼上您在上一個步驟中複製的 XML 代碼段。
登入您的 Azure DevOps 組織,然後瀏覽至您的專案。
選取 [工件],從下拉功能表中選取您的訊息來源,然後選取 [連線至訊息來源]。
從左側瀏覽窗格中選取 pip 。
如果您尚未這麼做,請建立 虛擬環境 。
將 pip.ini (Windows) 或 pip.conf (Mac/Linux) 檔案新增至您的 virtualenv,並貼上 Project 安裝程式 區段中所提供的代碼段。
登入您的 Azure DevOps 組織,然後瀏覽至您的專案。
選取 [工件],從下拉功能表中選取您的訊息來源,然後選取 [連線至訊息來源]。
從左側瀏覽窗格中選取 [Maven ]。
將 [項目設定] 區段中所提供的代碼段新增至 <repositories><distributionManagement>中的 和 區段。 您的檔案看起來應該如下所示:
<repository>
<id>[FEED-NAME]</id>
<url>https://pkgs.dev.azure.com/[ORGANIZATION-NAME]/_packaging/[FEED-NAME]/maven/v1</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
將所提供的 <server> 代碼段貼到 settings.xml 檔案中。 您的檔案看起來應該會像這樣:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>[FEED-NAME]</id>
<username>[ORGANIZATION-NAME]</username>
<password>[PERSONAL_ACCESS_TOKEN]</password>
</server>
</servers>
</settings>
建立具有封裝和讀取與寫入範圍的>,然後將您的個人存取令牌貼到 <password> 檔案中的標籤中。
登入您的 Azure DevOps 組織,然後瀏覽至您的專案。
選取 [工件],從下拉功能表中選取您的訊息來源,然後選取 [連線至訊息來源]。
從左側瀏覽窗格中選取 [Gradle ]。
將 Project setup 區段中所提供的代碼段新增到 build.gradle 檔案中的 repositories 和 publishing 區段。 您的檔案應該如下所示:
maven {
url 'https://pkgs.dev.azure.com/[ORGANIZATION-NAME]/_packaging/[FEED-NAME]/maven/v1'
name '[FEED-NAME]'
authentication {
basic(BasicAuthentication)
}
}
將所提供的 <server> 代碼段貼到 settings.xml 檔案中。 您的檔案應該如下所示:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>[FEED-NAME]</id>
<username>[ORGANIZATION-NAME]</username>
<password>[PERSONAL_ACCESS_TOKEN]</password>
</server>
</servers>
</settings>
建立一個具有封裝和讀取及寫入範圍的>。 將您的個人存取令牌貼到 <password>settings.xml 檔案中的標記中。
登入您的 Azure DevOps 組織,並流覽至您的專案。
選取 [工件],從下拉功能表中選取您的訊息來源,然後選取 [連線至訊息來源]。
從左側瀏覽窗格中選取 [貨物 ]。
將 [項目設定 ] 區段中所提供的代碼段新增至來源存放庫中 的 cargo/config.toml 檔案。 您的 config.toml 檔案應該如下所示:
[registries]
FEED_NAME = { index = "sparse+https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/Cargo/index/" }
```
將 Project setup 區段中提供的第二個代碼段加入至 您的 cargo/config.toml 檔案,以將 crates.io 來源取代為您的數據源。 您的檔案應該如下所示:
[source.crates-io]
replace-with = "FEED_NAME"
設定認證提供者
登入登錄
還原套件
既然您已啟用上游來源並對您的摘要進行了驗證,請根據您的套件類型選取適當的分頁,並遵循指示,將公用註冊表中的套件還原到您的 Azure Artifacts 摘要。
從專案中移除 node_modules 資料夾。
開啟命令提示字元視窗,然後執行下列命令來還原您的套件。 完成後,您的鏡像庫應該會有從上游安裝的所有套件的已儲存複本。
npm install --force
注意
旗 --force 標可確保即使本機複本存在,仍會從遠端來源提取套件。
清除本機快取。
nuget locals -clear all
開啟命令提示字元視窗,然後執行下列命令來還原您的套件。 完成後,您的鏡像庫應該會有從上游安裝的所有套件的已儲存複本。
nuget.exe restore
相關內容