教學課程:如何使用上游來源
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
在摘要中使用上游來源可讓您從單一摘要管理應用程式相依性。 使用上游來源可讓您輕鬆地從公用登錄取用套件,同時防範中斷或遭入侵的套件。 您也可以將自己的套件發佈至相同的摘要,並在一個位置管理所有相依性。
本教學課程將逐步引導您如何在摘要上啟用上游來源,並從公用登錄取用套件,例如 NuGet.org 或 npmjs.com。
在此教學課程中,您需要:
- 建立新的摘要並啟用上游來源。
- 設定您的組態檔。
- 執行初始套件還原以填入您的摘要。
- 請檢查您的摘要,以檢視您從公用登錄取用之套件的已儲存複本。
建立摘要並啟用上游來源
登入您的 Azure DevOps 組織,然後瀏覽至您的專案。
選取 [ 成品],然後選取 [ 建立摘要 ] 以建立新的摘要。
提供摘要的名稱,然後選擇其可見性。 請確定您核取 [ 包含來自一般公用來源的 套件] 複選框以啟用上游來源,然後選取 [完成時建立 ]。
注意
若要將來自不同組織的摘要新增為上游來源,目標摘要擁有者必須透過流覽至 [摘要>>設定檢視] 選取指定檢視 [編輯] 右側的省略號按鈕,與與我的 Microsoft Entra 租使用者相關聯的組織中的所有摘要和人員共用目標檢視。>
設定組態檔
既然我們已建立摘要,我們需要更新組態檔以指向我們的摘要。 若要這樣做,我們必須:
- 取得來源的 URL
- 更新組態檔
選取 [ 成品],然後選取 [ 聯機至摘要]。
在頁面左側,選取 [npm] 索引標籤。
請遵循 Project 安裝程式一節中的指示來設定您的組態檔。
如果您還沒有 .npmrc 檔案,請在專案的根目錄中建立新的檔案(與package.json相同的資料夾中)。 開啟新的 .npmrc 檔案,並貼上您剛才在上一個步驟中複製的代碼段。
選取 [ 成品],然後選取您的摘要。
選取 [ 連線至摘要],然後選擇 [NuGet.exe]。
複製 [項目設定] 區段中的 XML 代碼段。
在專案的根目錄中建立名為 nuget.config 的新檔案。
將 XML 代碼段貼到組態檔中。
選取 [ 成品],然後從下拉式清單中選取您的摘要。
選取 [ 連線至摘要],然後選取 [Python] 區段下的 pip 。
如果您尚未這麼做,請建立 虛擬環境 。
將pip.ini (Windows) 或 pip.conf (Mac/Linux) 檔案新增至 virtualenv,並貼上下列代碼段:
[global]
index-url=https://pkgs.dev.azure.com/ORGANIZATION-NAME/_packaging/FEED-NAME/pypi/simple/
選取 [ 成品],然後從下拉式清單中選取您的摘要。
選取 [ 連線至摘要],然後選取 [Maven]。
將下列代碼段新增至 <repositories>
pom.xml中的和 <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>
settings.xml檔案中的標記中。
選取 [ 成品],然後從下拉式清單中選取您的摘要。
選取 [ 連線至摘要],然後選取 [Gradle]。
將下列代碼段新增至 build.gradle 檔案中的存放庫 和 發佈 區段:
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檔案中的標記中。
還原套件
既然您已啟用上游來源並設定組態檔,我們可以執行套件還原命令來查詢上游來源並擷取上游套件。
從項目移除node_modules資料夾,並在提升權限的命令提示字元視窗中執行下列命令:
npm install --force
您的摘要現在應該會有您從上游安裝之任何套件的已儲存複本。
注意
即使本機複本存在,自 --force
變數仍會強制提取遠端。
清除本機快取:
nuget locals -clear all
還原 NuGet 套件:
nuget.exe restore
您的摘要現在應該會有您從上游安裝之任何套件的已儲存複本。
在您的項目目錄中執行下列命令:
dotnet restore --interactive
您的摘要現在應該會有您從上游安裝之任何套件的已儲存複本。
在您的項目目錄中執行下列命令:
pip install
您的摘要現在應該會有您從上游安裝之任何套件的已儲存複本。
在您的項目目錄中執行下列命令:
mvn install
您的摘要現在應該會有您從上游安裝之任何套件的已儲存複本。
在您的項目目錄中執行下列命令:
gradle build
您的摘要現在應該會有您從上游安裝之任何套件的已儲存複本。
在您的項目目錄中執行下列命令:
cargo build
您的摘要現在應該會有您從上游安裝之任何套件的已儲存複本。
從項目移除node_modules資料夾,並在提升權限的命令提示字元視窗中執行下列命令:
npm install --force
您的摘要現在應該會有您從上游安裝之任何套件的已儲存複本。
注意
即使本機複本存在,自 --force
變數仍會強制提取遠端。
清除本機快取:
nuget locals -clear all
還原 NuGet 套件:
nuget.exe restore
您的摘要現在應該會有您從上游安裝之任何套件的已儲存複本。
在您的項目目錄中執行下列命令:
dotnet restore --interactive
您的摘要現在應該會有您從上游安裝之任何套件的已儲存複本。
在您的項目目錄中執行下列命令:
pip install
您的摘要現在應該會有您從上游安裝之任何套件的已儲存複本。
在您的項目目錄中執行下列命令:
mvn install
您的摘要現在應該會有您從上游安裝之任何套件的已儲存複本。
在您的項目目錄中執行下列命令:
gradle build
您的摘要現在應該會有您從上游安裝之任何套件的已儲存複本。
從項目移除node_modules資料夾,並在提升權限的命令提示字元視窗中執行下列命令:
npm install --force
您的摘要現在應該會有您從上游安裝之任何套件的已儲存複本。
注意
即使本機複本存在,自 --force
變數仍會強制提取遠端。
清除本機快取:
nuget locals -clear all
還原 NuGet 套件:
nuget.exe restore
您的摘要現在應該會有您從上游安裝之任何套件的已儲存複本。
在您的項目目錄中執行下列命令:
pip install
您的摘要現在應該會有您從上游安裝之任何套件的已儲存複本。
在您的項目目錄中執行下列命令:
mvn install
您的摘要現在應該會有您從上游安裝之任何套件的已儲存複本。
在您的項目目錄中執行下列命令:
gradle build
您的摘要現在應該會有您從上游安裝之任何套件的已儲存複本。
相關文章