使用 Gradle 發佈成品
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
使用 Azure Artifacts,您可以從單一摘要有效率地管理相依性,並將不同類型的套件儲存在一個地方。 Azure Artifacts 可讓開發人員發佈及取用來自不同來源的套件,並根據摘要的可見度設定加以共用。 在本文中,您將瞭解如何連線到 Azure Artifacts 摘要,並使用 Gradle 發佈套件。
必要條件
下載並安裝 Gradle。
安裝 Java 開發工具套件 (JDK) 第 8 版或更新版本。
建立個人存取權杖
若要向摘要進行驗證,您必須先使用封裝 讀取和寫入 範圍來建立個人存取令牌:
登入您的 Azure DevOps 組織,然後瀏覽至您的專案。
選取 [ 用戶設定],然後選取 [ 個人存取令牌]。
選取 [ 新增令牌 ],然後填寫必要的欄位。 請務必選取封裝>讀取和寫入範圍。
完成後,選取 [建立]。 複製令牌並將它儲存在安全的位置,因為下一個步驟需要它。
專案設定
設定專案之前,請確定已安裝 Gradle,且您已將 Maven Settings 外掛程式新增至 build.gradle 檔案,如下所示:
plugins {
id 'maven-publish'
}
設定 build.gradle
如果您的專案根目錄中沒有 build.gradle 檔案,請建立新的檔案並將其命名為:build.gradle。
將下列區段新增至存放庫和 publishing.repositories 容器內的 build.gradle 檔案:
maven { url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1' //for organization-scoped feeds use this format: 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/maven/v1' name '<FEED_NAME>' credentials(PasswordCredentials) authentication { basic(BasicAuthentication) } }
以下是 build.gradle 檔案看起來應該像的範例:
repositories {
mavenCentral()
maven {
url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1' //for organization-scoped feeds use this format: 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/maven/v1'
name '<FEED_NAME>'
credentials(PasswordCredentials)
authentication {
basic(BasicAuthentication)
}
}
}
publishing {
publications {
library(MavenPublication) {
from components.java
}
}
repositories {
maven {
url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/maven/v1' //for organization-scoped feeds use this format: 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/maven/v1'
name '<FEED_NAME>'
credentials(PasswordCredentials)
authentication {
basic(BasicAuthentication)
}
}
}
}
設定 gradle.properties
開啟位於主資料夾的 .gradle 目錄 (~/.gradle/gradle.properties) 的 gradle.properties 檔案。 如果檔案不存在,請建立新的檔案。
新增下列代碼段,並以您稍早建立的摘要名稱、組織名稱和個人存取令牌取代佔位元。
# Substitute FEED_NAME with the same name specified as the 'name' of the maven repository in build.gradle. # The value of the username is arbitrary but should not be blank. [FEED_NAME]Username=[ORGANIZATION_NAME] [FEED_NAME]Password=[PERSONAL_ACCESS_TOKEN]
發佈您的套件
在項目目錄中執行下列命令,將您的套件發佈至摘要:
gradle publish