如何定义从渐变文件中的azure工件下载的依赖项



我已经设置了一个azure工件提要,我可以从azure管道发布到它,并且我可以从本地gradle文件/项目连接到提要。然而,目前尚不清楚如何实际定义在本地和管道中构建它的依赖关系。我想把它从azure devops中的这个azure工件中拿走,这样我就可以在任何地方构建我的项目,并具有依赖性。例如,如果我想在从mavencentral下载的gradle文件中使用springboot依赖项,我会在依赖项部分中使用它

implementation 'org.springframework.boot:spring-boot-starter'

除了位于azure工件提要中的依赖项之外,我如何做完全相同的事情?

我的gradle文件的相关部分看起来像这个

repositories {
mavenCentral()
maven {
url 'https://pkgs.dev.azure.com/<azure-username>/<myproject>_packaging/<my-feed>%40Release/maven/v1'
name '<my-feed>@Release'
authentication {
basic(BasicAuthentication)
}
}
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'commons-codec:commons-codec:1.15'
implementation '<my-feed>:commons:0.0.1'
}

此外,我还将这个settings.xml文件添加到了MBP上的~/.m2文件夹中。

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id><my-feed>@Release</id>
<username><my username></username>
<password><my token provided by azure portal></password>
</server>
</servers>

然而,当我尝试用gradle构建时,我得到了

无法解析配置":compileClasspath"的所有文件。

找不到:commons:0.0.1。

您需要配置Gradle构建以在Azure工件提要中查找依赖项。

假设提要设置为Maven存储库,您可以将提要添加到存储库部分:

https://docs.gradle.org/current/userguide/declaring_repositories.html

repositories { 
maven { 
url 'https://pkgs.dev.azure.com/{OrganizationName}/{ProjectName}/_packaging/{FeedName}/maven/v1' 
} 
}

如果提要需要凭据,那么您还需要配置凭据:https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:handling_credentials

上面的URL格式取自关于如何发布到提要的指南:https://learn.microsoft.com/en-us/azure/devops/pipelines/artifacts/publish-package-gradle?view=azure-devops

最新更新