当前位置: 首页 > 知识库问答 >
问题:

AWS代码构建-成功构建后将yaml文件复制到S3

聂宜
2023-03-14

我正在使用CodeBuild来构建Scala sbt项目。在构建过程中,我将执行以下步骤。

  • 来自Git的签出代码
  • 安装所有sbt工具。
  • 构建代码。
  • 创建Docker
  • 发布docker文件到AWSECR
  • 使用kustomize实用程序更新位于项目根文件夹部署/deployment.yaml中的K8s部署文件,其中包含已发布图像的最新信息。
  • 将此文件发布到AWS S3存储桶,以便在AWS EKS上运行进一步部署。

不幸的是,最后一步失败了,我无法将此部署文件移动到AWS S3存储桶。

artifacts:
  files:
    - deployment/deployment.yaml
  discard-paths: yes
  base-directory: 'deployment'

我做错了什么?

共有1个答案

顾磊
2023-03-14
base-directory: 'deployment'

... 这意味着代码构建将在“部署”目录中查找“deployment/deployment.yaml”,这可能是错误的。

试试这个:

artifacts:
  files:
    - deployment/deployment.yaml
  discard-paths: yes

我发现一个有用的技巧是在buildspec中安装'tree',并检查目录的树结构,以确保指定了正确的路径。

在安装阶段:

- apt-get install tree

在Buildspec的后面部分:

- tree .
 类似资料:
  • 我开始学习AWS的CI/CD功能。到目前为止,我一直在基于microsoft/windowsservercore映像在Windows Server 2016本地创建docker映像,并手动将其推送到ECR(amazon容器注册表)。 在这一点上,我没有试图在CodeBuild中编译应用程序。我只是想建造容器。在本地,二进制文件位于子目录中,并复制到容器中。 CodeBuild项目失败,出现错误:无

  • 我在jdk-8和jdk-12之间重新安装,构建过程显示了不同的错误,但都失败了。两者都在日志中显示bcel包丢失作为第一个错误。 我在两个jdk中都用相应的值设置了JAVA_HOME;

  • 我正在使用任务为我的API生成一些代码,并将这些代码存储到文件夹中。当我构建我的应用程序时,进程删除构建文件夹。 是否有一种方法可以在文件夹删除和编译开始之间调用我的代码生成任务?

  • Your browser does not support the video tag.

  • 我想为我的AWS基础设施和AWS Lambda函数设置一个CI/CD管道。我们的想法是让一切都在代码中,版本控制和自动化。我只想

  • 我有一个根梯度项目,由两个子项目组成: js frontend,由名为的wepback绑定 名为的Java Spring后端 null 下面是目录结构: