将ant与AWS CodeBuild一起使用 - build.xml不存在,并为新手提出其他问题

问题描述 投票:1回答:1

我试图切换到使用CodeBuild来构建我的代码,这样我就可以轻松地将它推送到我的EC2实例而不是手动构建和复制。

我可以手动在我的电台上运行蚂蚁,所有人都会按照自己的意愿建造。我现在正在尝试使用AWS CodeBuild控制台来尝试此操作。我将源代码文件压缩并将其放入S3存储桶并将其位置放在AWS CodeBuild的源字段中。我在同一个存储桶中有build.xml,我还将build.xml放在代码zip文件的基础上。在构建命令中我放了“ant”。

我假设build.xml需要去别的地方吗?我需要更多,然后在构建命令中只需“ant”吗?这就是我在手动构建项目时使用的全部内容。

从我所看到的,我应该能够压缩我的代码,把它放在S3位置,CodeBuild将提取它并构建正确吗?

另外,在“环境:如何构建”下 - “输出文件”部分是什么?它不适用于构建正确的工件吗?

还有其他任何提示或技巧吗?我对这一切都很新,所以任何帮助都表示赞赏!我这周刚刚学会了蚂蚁。这正在构建一个包含许多类的相当大的项目 - 这会导致问题吗?就像我之前所说 - 如果我在我的系统上手动运行它,我确实有它构建文件。

这是我通过代码构建构建时出现的错误:

    [Container] 2019/03/21 15:32:27 Entering phase BUILD
    [Container] 2019/03/21 15:32:27 Running command ant
    Buildfile: build.xml does not exist!
    Build failed

我想出了我的问题 - 我从文件夹级别而不是根级别压缩构建文件。我重新压缩了它现在可以看到build.xml。

我用这些变化再次建造,看起来我很亲密!它失败了以下 -

https://forums.aws.amazon.com/ 2019/03/21 20:57:13 Expanding myapp.jar
https://forums.aws.amazon.com/ 2019/03/21 20:57:13 Skipping invalid artifact path myapp.jar
https://forums.aws.amazon.com/ 2019/03/21 20:57:13 Phase complete: UPLOAD_ARTIFACTS Success: false
https://forums.aws.amazon.com/ 2019/03/21 20:57:13 Phase context status code: CLIENT_ERROR Message: no matching artifact paths found

是不是myapp.jar构建的是什么?

关于Artifact / name应该是什么,我很困惑 - 这不是从构建中创建的吗?它要求ARN - 如果没有ARN,它怎么能有它?

关于环境/输出文件是什么也很困惑?这是必需的,但我不知道该领域应该做些什么?它声明输出文件不能为空。这是否意味着它需要所有正在构建的类文件?如果是这样,那么这个版本将在多个位置创建超过30个类文件 - 这是一个要列出的吨。

谢谢厄尼

amazon-web-services ant aws-codebuild
1个回答
1
投票

我有它的工作!我将把我的发现发布给可能正在挣扎的其他人 -

所以我发现“输出”意味着在构建所有文件和/或目录后,你想要进入最终工件的所有文件和/或目录。

我在最终的jar工件中有两个目录。一个是WebContent,另一个是构建。它们都有多个子目录。我把"WebContent/*,build/*"放在输出文件字段中。它给了我一个jar工件但是当我打开jar时它没有任何子目录。为了让它包含所有子目录,我必须使用"WebContent/**/*,build/**/*"创建输出文件字段。所有子目录现在都在zip中,看起来好像构建成功了。希望这可以帮助其他人。现在开始为此创建一个脚本,并从GitLab开始使用它。

© www.soinside.com 2019 - 2024. All rights reserved.