使用Azure blob存储作为gradle的存储库

kse8i1jr  于 2023-02-23  发布在  其他
关注(0)|答案(2)|浏览(250)

我正在尝试在Azure Blob存储上设置工件存储库。我希望将通过Gradle构建生成的工件发布到此存储库,并在以后将此工件用作其他Gradle项目中的依赖项。
有什么想法吗?

r6vfmomb

r6vfmomb1#

你可以使用Azure File Copy task将你的artifatc复制到Microsoft Azure存储Blob。然后,你可以将Download blobs from Azure Blob Storage by using AzCopy作为依赖项。

hk8txs48

hk8txs482#

此响应可能会延迟,但我遇到了类似的问题,并能够通过使用SFTP将项目发布到Blob容器来解决此问题。为此,您需要执行以下步骤:
在build.gradle文件中,设置Maven发布插件以声明要使用SFTP发布到的Maven存储库。提供SFTP凭据以验证和授权发布操作。按照以下步骤操作,您应该能够成功将工件发布到blob容器。

publishing {
    publications {
        maven(MavenPublication) {
            groupId '<com. ... group here>'
            artifactId '<artifactId here>'
            version '1.0.0.0'
            artifact 'build/outputs/aar/...-release.aar'
        }
    }

    repositories {
        maven {
            url 'sftp://<workspace name here>.blob.core.windows.net:22'
            credentials {
                username "<username here>"
                password "<password here>"
            }
        }
    }
}

读取您在settings.gradle中声明的已发布工件

pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        // Using Blob Storage
        maven {
            url "https://<workspace name here>.blob.core.windows.net/<container name here>/"
            credentials {
                username "<username here>"
                password "<password here>"
            }
        }
        jcenter() // Warning: this repository is going to shut down soon
    }
}

在你的从属关系里你可以用你的藏物

dependencies {
    // Add Dependency
    implementation(group: '<com. ... group here>', name: '<artifactId here>', version: '1.0.0.0')
    // Other dependencies goes here
}

希望这对你有帮助。

相关问题