分享方式:


使用 Gradle 發佈成品

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

使用 Azure Artifacts,您可以從單一摘要有效率地管理相依性,並將不同類型的套件儲存在一個地方。 Azure Artifacts 可讓開發人員發佈及取用來自不同來源的套件,並根據摘要的可見度設定加以共用。 在本文中,您將瞭解如何連線到 Azure Artifacts 摘要,並使用 Gradle 發佈套件。

必要條件

建立個人存取權杖

若要向摘要進行驗證,您必須先使用封裝 讀取和寫入 範圍來建立個人存取令牌:

  1. 登入您的 Azure DevOps 組織,然後瀏覽至您的專案。

  2. 選取 [ 用戶設定],然後選取 [ 個人存取令牌]。

    顯示如何尋找個人存取令牌按鈕的螢幕快照。

  3. 選取 [ 新增令牌 ],然後填寫必要的欄位。 請務必選取封裝>讀取和寫入範圍。

  4. 完成後,選取 [建立]。 複製令牌並將它儲存在安全的位置,因為下一個步驟需要它。

    示範如何使用封裝讀取和寫入範圍來建立新的個人存取令牌的螢幕快照。

專案設定

設定專案之前,請確定已安裝 Gradle,且您已將 Maven Settings 外掛程式新增至 build.gradle 檔案,如下所示:

plugins {
  id 'maven-publish'
}

設定 build.gradle

  1. 如果您的專案根目錄中沒有 build.gradle 檔案,請建立新的檔案並將其命名為:build.gradle

  2. 將下列區段新增至存放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

  1. 開啟位於主資料夾的 .gradle 目錄 (~/.gradle/gradle.properties) 的 gradle.properties 檔案。 如果檔案不存在,請建立新的檔案。

  2. 新增下列代碼段,並以您稍早建立的摘要名稱、組織名稱和個人存取令牌取代佔位元。

    # 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]
    

發佈您的套件

  1. 在項目目錄中執行下列命令,將您的套件發佈至摘要:

    gradle publish
    

螢幕快照,顯示已成功發佈至摘要的套件。