1

Gradle を使用してアーティファクトを Google の Artifact Registry にデプロイしています。

通常、ビルドされたアーティファクトをデプロイするリポジトリをファイルの「公開」セクションで指定します-そのようにする代わりに、後でCIに挿入されるファイルでbuild.gradleリポジトリを定義したかった- init.gradleArtifact Registry の URL が Git リポジトリに移動しないようにします。

これを行う方法は次のようになると思いました:

allprojects{  
    buildscript {
        repositories {
            maven {
                url "artifactregistry://random-location.pkg.dev/project-name/repository-name"
            }
        }
    }
    repositories {
        maven {
            url "artifactregistry://random-location.pkg.dev/project-name/repository-name"
        }
    }
}

しかし、Artifact Registry Gradle プラグインが必要なためartifactregistry、サポートされているプロトコルではないというエラーが表示されます。

> Could not resolve all dependencies for configuration ':classpath'.
   > Not a supported repository protocol 'artifactregistry': valid protocols are [file, http, https, gcs, s3, sftp]

ドキュメントには、でプラグインを使用するにinit.gradleは、次を挿入する必要があると記載されています。

initscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "gradle.plugin.com.google.cloud.artifactregistry:artifactregistry-gradle-plugin:2.1.1"
  }
}
apply plugin: com.google.cloud.artifactregistry.gradle.plugin.ArtifactRegistryGradlePlugin

しかし、私はそれを機能させることができないようです。私は 2 つのスニペットの可能な組み合わせを試したに違いありませんが、私の知る限りではありません。

ファイルで公開するリポジトリを指定できるように、これら 2 つのスニペットを配置する方法を誰かが教えてくれればinit.gradle(または、まったく別の方法があるかもしれません)、非常に役に立ちます!

4

1 に答える 1