Azure Artifacts フィードに接続する - Gradle

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022

Azure Artifacts を使用すると、開発者は、パッケージを表示、発行、またはインストールできるユーザーを制御しながら、1 つのフィードからプロジェクトの依存関係を管理できます。 この記事では、Gradle を使用してプロジェクトを設定し、Azure Artifacts フィードに接続する手順について説明します。

[前提条件]

製品 必要条件
Azure DevOps - Azure DevOps 組織
- Azure DevOps プロジェクト
- Azure Artifacts フィード
- Gradle をダウンロードしてインストールします。

プロジェクトの設定

  1. Gradle がインストールされていることを確認し、 Maven 設定プラグインbuild.gradle ファイルに追加します。

    plugins {
      id 'maven-publish'
    }
    
  2. Azure DevOps 組織にサインインしてから、プロジェクトに移動します。

  3. [ 成果物] を選択し、ドロップダウン メニューからフィードを選択し、[ フィードに接続] を選択します。

  4. 左側のナビゲーション ウィンドウから Gradle を選択します。

  5. プロジェクトのルートに build.gradle ファイルがない場合は、ファイルを作成し、 build.gradle という名前を付けます。

  6. Project setup セクションのスニペットを、リポジトリブロックと publishing.repositories ブロックの両方の下にある build.gradle ファイルに追加します。 ファイルは次のようになります。

    repositories {
        mavenCentral()
    
        maven {
        url 'https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_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'  
            name '<FEED_NAME>'
            credentials(PasswordCredentials)
            authentication {
                basic(BasicAuthentication)
                }
            }
        }
    }
    
  7. Packaging を使用して個人用アクセス トークンを生成>スコープを読み書きし、クリップボードにコピーします。次の手順で使用します。

  8. ホーム フォルダーの . gradle ディレクトリ (~/. gradle /gradle.properties) で gradle.properties ファイルを開きます。 存在しない場合は、新しいファイルを作成し、プレースホルダーを先ほど作成した個人用アクセス トークンに置き換えて 、Project セットアップ セクションのスニペットを追加します。

    ## Substitute FEED_NAME with the same name used in your build.gradle
    ## The username value can be any non-blank string
    [FEED_NAME]Username=[ORGANIZATION_NAME]
    [FEED_NAME]Password=[PERSONAL_ACCESS_TOKEN]