从 Azure Devops 中的代码创建 AAR 项目
Creating an AAR artifact from code in Azure Devops
我有一个 android 库的代码,它被推送到 azure git,
我的主要目标是从中制作一个工件供以后的项目使用,我创建了一个如下所示的管道:
trigger:
- master
pool:
vmImage: 'macos-latest'
steps:
- task: Gradle@2
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m'
publishJUnitResults: false
testResultsFiles: '**/TEST-*.xml'
- task: MavenAuthenticate@0
inputs:
artifactsFeeds: 'testArt'
tasks: 'assembleRelease'
但是它没有创建任何东西,有什么想法我在这里做错了什么吗?我发现有关此特定请求的信息很少
感谢所有的帮手!
更新:
- task: Gradle@2
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m'
tasks: 'assembleRelease'
publishJUnitResults: false
testResultsFiles: '**/TEST-*.xml'
- task: CopyFiles@2
inputs:
contents: '**/*.aar'
targetFolder: '$(build.artifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
targetPath: $(Build.ArtifactStagingDirectory)
artifactName: 'FeedName'
- task: UniversalPackages@0
inputs:
command: publish
publishDirectory: $(Build.ArtifactStagingDirectory)
vstsFeedPublish: 'Project/FeedName'
vstsFeedPackagePublish: 'com.package'
vstsPackageVersion: $(latestVersion)
新更新构建了一个 aar 文件,但我无法从 android studio 获取工件,是否正确使用了 UniversalPackages(没有它工件部分为空)?还是我应该使用其他东西?
Creating an AAR artifact from code in Azure Devops
要创建 AAR 工件,您可以检查是否已正确配置 Gradle
任务。
- 如果您的 gradlew 文件不在目录中,请调整 workingDirectory 值
存储库的根。目录值应该相对于
存储库的根目录,例如 AndroidApps/MyApp 或
$(system.defaultWorkingDirectory)/AndroidApps/MyApp.
- 调整 gradleWrapperFile 值,如果你的 gradlew 文件不在
存储库的根。文件路径值应相对于
存储库的根目录,例如 AndroidApps/MyApp/gradlew 或
$(system.defaultWorkingDirectory)/AndroidApps/MyApp/gradlew.
您可以检查该任务是否从输出日志中创建了任何 .aar
或 .apk
文件。如果没有,您可能需要在您的问题中分享构建日志,以便我们检查它没有创建任何工件的原因。
您可以查看此文档 Build, test, and deploy Android apps 了解更多详细信息。
此外,如果任务 Gradle
生成工件,我们需要添加 Copy Files and Publish Build Artifacts 任务以将您的 APK 与构建记录一起存储或测试并将其部署到后续管道中:
- task: CopyFiles@2
inputs:
contents: '**/*.aar'
targetFolder: '$(build.artifactStagingDirectory)'
- task: PublishBuildArtifacts@1
希望对您有所帮助。
我有一个 android 库的代码,它被推送到 azure git,
我的主要目标是从中制作一个工件供以后的项目使用,我创建了一个如下所示的管道:
trigger:
- master
pool:
vmImage: 'macos-latest'
steps:
- task: Gradle@2
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m'
publishJUnitResults: false
testResultsFiles: '**/TEST-*.xml'
- task: MavenAuthenticate@0
inputs:
artifactsFeeds: 'testArt'
tasks: 'assembleRelease'
但是它没有创建任何东西,有什么想法我在这里做错了什么吗?我发现有关此特定请求的信息很少
感谢所有的帮手!
更新:
- task: Gradle@2
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m'
tasks: 'assembleRelease'
publishJUnitResults: false
testResultsFiles: '**/TEST-*.xml'
- task: CopyFiles@2
inputs:
contents: '**/*.aar'
targetFolder: '$(build.artifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
targetPath: $(Build.ArtifactStagingDirectory)
artifactName: 'FeedName'
- task: UniversalPackages@0
inputs:
command: publish
publishDirectory: $(Build.ArtifactStagingDirectory)
vstsFeedPublish: 'Project/FeedName'
vstsFeedPackagePublish: 'com.package'
vstsPackageVersion: $(latestVersion)
新更新构建了一个 aar 文件,但我无法从 android studio 获取工件,是否正确使用了 UniversalPackages(没有它工件部分为空)?还是我应该使用其他东西?
Creating an AAR artifact from code in Azure Devops
要创建 AAR 工件,您可以检查是否已正确配置 Gradle
任务。
- 如果您的 gradlew 文件不在目录中,请调整 workingDirectory 值 存储库的根。目录值应该相对于 存储库的根目录,例如 AndroidApps/MyApp 或 $(system.defaultWorkingDirectory)/AndroidApps/MyApp.
- 调整 gradleWrapperFile 值,如果你的 gradlew 文件不在 存储库的根。文件路径值应相对于 存储库的根目录,例如 AndroidApps/MyApp/gradlew 或 $(system.defaultWorkingDirectory)/AndroidApps/MyApp/gradlew.
您可以检查该任务是否从输出日志中创建了任何 .aar
或 .apk
文件。如果没有,您可能需要在您的问题中分享构建日志,以便我们检查它没有创建任何工件的原因。
您可以查看此文档 Build, test, and deploy Android apps 了解更多详细信息。
此外,如果任务 Gradle
生成工件,我们需要添加 Copy Files and Publish Build Artifacts 任务以将您的 APK 与构建记录一起存储或测试并将其部署到后续管道中:
- task: CopyFiles@2
inputs:
contents: '**/*.aar'
targetFolder: '$(build.artifactStagingDirectory)'
- task: PublishBuildArtifacts@1
希望对您有所帮助。