【问题标题】:AWS Codepipeline first stageAWS Codepipeline 第一阶段
【发布时间】:2020-05-21 15:53:31
【问题描述】:

我使用 codecommit->codebuild->codepipeline 创建了一个管道,以便自动构建和测试位于我的 github 存储库中的我的 android 应用程序。

但在构建步骤后的第一阶段,管道返回此错误:

我不知道应用程序位置是否引用 .apk 文件,因为我的存储库中没有 .apk 文件。

谁能帮帮我?

【问题讨论】:

  • 嗨@rubik90,您创建了一个管道运行,其中包括:源阶段(codecommit)然后是构建阶段(codebuild),然后是另一个阶段(这是失败的阶段)。那是对的吗?那个失败的动作是什么?那是自定义脚本吗?
  • 嗨@mar​​ianogg9 我盲目地遵循这个aws教程docs.aws.amazon.com/codepipeline/latest/userguide/…你是对的,源阶段由codecommit(源github)处理,构建阶段由codebuild处理。我的问题是 buildspec.yml。我注意到下一个测试阶段需要一个文件(我认为是 zip 或 apk 文件),但我无法检查构建步骤是否正确创建了此文件。我确实相信 buildspec 文件的最后一行是我做错了,但在网上找不到解决方案。你有没有遇到过类似的工作?谢谢。
  • 这是我正在使用的构建规范文件 版本:0.2 阶段:安装:运行时版本:java:corretto11 pre_build:命令:- echo 在 pre_build 阶段无事可做...构建:命令: - java -version - bash ./gradlew assembleDebug post_build: commands: - echo Build completed on date artifacts: files: - '*/'
  • CodePipeline 使用 zip 格式的工件,您是否尝试在 post_build 步骤(在 buildspec 中)压缩 apk 文件,然后将该 zip 文件的路径添加到 artifacts 子句?构建过程可能没有将apk文件留在可见路径中:相信我,我去过那里。快速检查将在post_build 子句中添加ls -ltr 执行,以便您可以查看apk 是否确实在其中。希望有帮助!
  • 关键是运行 ls -ltr 我看不到任何 apk 文件,所以我认为我在 buildspec 设置中是错误的,即使你可以在我上面的回复中看到它非常微不足道。很混乱。此外,该应用程序可以在我的手机上正常运行,因此可以排除我犯了编码错误。如果我没有 apk 文件作为输出,构建阶段怎么可能成功?

标签: amazon-web-services build devops pipeline aws-codepipeline


【解决方案1】:

在“测试”阶段(AWS Device Farm 操作)的输入工件中需要一个 apk 文件,然后在 CodePipeline 中设置 AWS Device Farm 测试操作时在“应用程序 - 可选”字段中指定 apk 文件名。

【讨论】:

  • 感谢您的回复。我在“App -optional fields”中指定了名称“app-release.apk”,测试阶段失败并出现以下错误:在输入工件 ZIP 文件中找不到文件 app-release.apk。验证文件是否存储在管道的 Amazon S3 工件存储桶中:codepipeline-us-west-2-416983371916 密钥:is2_pipeline/BuildArtif/EYqfnM3 我不确定构建阶段是否正确创建了包含 apk 的 zip 文件。如何检查我的 .apk 文件是否存在?
猜你喜欢
  • 2015-12-15
  • 2019-04-24
  • 1970-01-01
  • 2020-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-25
  • 1970-01-01
相关资源
最近更新 更多