【发布时间】:2020-05-21 15:53:31
【问题描述】:
我使用 codecommit->codebuild->codepipeline 创建了一个管道,以便自动构建和测试位于我的 github 存储库中的我的 android 应用程序。
但在构建步骤后的第一阶段,管道返回此错误:
我不知道应用程序位置是否引用 .apk 文件,因为我的存储库中没有 .apk 文件。
谁能帮帮我?
【问题讨论】:
-
嗨@rubik90,您创建了一个管道运行,其中包括:源阶段(codecommit)然后是构建阶段(codebuild),然后是另一个阶段(这是失败的阶段)。那是对的吗?那个失败的动作是什么?那是自定义脚本吗?
-
嗨@marianogg9 我盲目地遵循这个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
dateartifacts: 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