【问题标题】:Push Android artifact to Azure DevOps Feed将 Android 工件推送到 Azure DevOps 源
【发布时间】:2020-03-04 15:03:33
【问题描述】:

我正在使用 Azure 管道构建我的 Android 项目,但我仍在将 aar 文件从库复制粘贴到应用程序。如何在私有包管理器中发布我的库,以便在我的应用中使用它们?

使用 c# / nuget 我可以轻松完成这项工作。提要似乎支持 Maven/Gradle,但我不知道如何将我的库推送到提要中(构建成功)。什么是“nuget push”等价物?

我找到了很多关于如何签署/发布应用程序的信息,以及有关如何使用 Xamarin 执行此操作的文档,它使用 ... nuget。我是否需要自己编写 Grade / Maven 东西,尽管管道任务到处都是,并且有一个 DevOps for Mobile youtube 系列 (Xamarin)?

请指点我一些未过时的文档和/或我如何学习在我的 yaml 文件中放入什么。

【问题讨论】:

  • 这是一个关于 Android 库的blog,带有 Gradle 构建系统。您可以查看它是否有帮助。
  • 谢谢,这是可能的。但目标不是从我的本地机器上发布。我想要一个由 yaml 文件配置的管道来做事,所以我可以使用 Azure 提供的关于 CI/CD 的所有内容。
  • 无法获得最新信息,以下解决方法对您有帮助吗?或者,如果您有任何疑问,请随时在此处分享。
  • 我通读了它们,但此时我已经放弃了太多关于这个主题的资源。我决定回去复制和粘贴 aar 文件,因为这样更有效。我本可以在运行它的时间内手动构建价值数年的项目。

标签: android azure-devops package-managers


【解决方案1】:

将 Android 工件推送到 Azure DevOps 源

您可以使用 maven new maven-publish plugin 和以下 gradle build config 将 Android 工件发布到 Azure DevOps Feed:

apply plugin: 'maven-publish'

task sourceJar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
    classifier "sources"
}

publishing {
    publications {
        bar(MavenPublication) {
            groupId 'com.foo'
            artifactId 'bar'
            version '0.1'
            artifact(sourceJar)
            artifact("$buildDir/outputs/aar/bar-release.aar")
        }
    }
    repositories {
        maven {
            url "$buildDir/repo"
        }
    }
}

您可以查看this threadthis thread 了解一些详细信息。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    但我仍在将 aar 文件从库复制粘贴到应用程序

    在这种情况下,如果要将管道中的一组相关文件作为单个包发布,可以使用托管在 Azure Artifacts 源中的Universal Packages

    通用包是从文件目录创建的。默认情况下,通用包任务将发布$(Build.ArtifactStagingDirectory) 中的所有文件。要为发布准备通用包,请配置前面的任务以将输出文件放置在该目录中,或使用 Copy Files utility task 组合您要发布的文件。

    要将通用包发布到您的提要,请将以下 sn-p 添加到您的 azure-pipelines.yml 文件中。

    - task: UniversalPackages@0
      displayName: Universal Publish
      inputs:
        command: publish
        publishDirectory: '$(Build.ArtifactStagingDirectory)'
        vstsFeedPublish: '<Feed name>'
        vstsFeedPackagePublish: '<Package name>'
        packagePublishDescription: '<Package description>'
    

    详情可以参考这位官方document

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-14
      • 2019-07-04
      • 1970-01-01
      • 1970-01-01
      • 2020-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多