问题标签 [aws-codebuild]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - 如何在 CloudFormation 中使用 CodeBuild 的输出工件?
所以我有一个相当简单的堆栈,我正在尝试设置一个由订阅 SNS 主题的单个 Lambda 函数组成的堆栈。我想使用具有三个阶段的 CodePipeline:Source (GitHub) -> Build (CodeBuild) -> Deploy (CloudFormation)。
我设法拼凑了一个可以工作的模板和构建规范文件,除了我不知道应该如何引用 CodeBuild 在 CloudFormation 模板中制作的输出工件;现在我只有占位符内联代码。
Code:
基本上,为了获取 CodeBuild 文件(这是我在 CodePipeline 中的输出工件),我应该在 Lambda 函数的属性中添加什么?
模板.yml:
buildspec.yml:
maven - 有没有办法使用 AWS CodeBuild 缓存构建依赖项?
我的 AWS CodeBuild 有 1 到 2 分钟用于从 Maven Central 下载依赖项。
除了构建预先配置的 Docker 容器之外,有没有办法在构建之间缓存这些容器?
aws-codepipeline - 从计划的 lambda 触发 AWS codepipeline/codebuild 并阻止提交触发器
我有一个使用 AWS codebuild 构建 AMI 的代码管道,我计划每周运行一次以获得新的服务器映像。
我想将它作为计划任务运行,我想为此使用 lambda 计划任务,但没有看到从 lambda 运行管道源的选项(我想使用 lambda 中的 api,但我宁愿有一个使用现有工具的模式声明性解决方案)有人知道内置解决方案吗?
我不希望它在代码推送上运行,如何启用它?
编辑:澄清
为什么要使用代码管道?因为任务对于 lambda 来说太长了。而且我不想为此旋转一个 ec2 实例(按小时计费)或保留一个几乎不工作的实例。还有其他可以处理的 AWS 工具吗?
amazon-iam - 无服务框架和 CodeBuild:参数中缺少必需的键“桶”
我在让 AWS CodeBuild 构建和部署使用Serverless Framework创建的项目时遇到问题。
这是迄今为止的故事。
初始化项目
我按照文档创建了无服务器项目的开始,并“按原样”离开 - 基本上是“Hello World”。
然后我把这个项目放在一个 git repo 中。
从 CLI 测试部署
然后,从 CLI 中,我调用了...
...正如预期的那样,lambda 已被部署。一个好的开始。
代码构建
接下来的议程是尝试使用 AWS CodeBuild 进行构建和部署。
我buildspec.yml
在项目的根目录中添加了一个文件:
然后,使用 AWS 控制台/Web 界面,我定义了一个引用 git 存储库的代码构建项目。
这样做时,AWS 使用以下策略创建了一个 IAM 角色:
我们开工吧...
所以我在 CodeBuild 项目上按“开始构建”并得到以下错误:
错误一:
ServerlessError: User: arn:aws:sts::************:assumed-role/codebuild-my-api-build-service-role/AWSCodeBuild-********-****-****-****-************ is not authorized to perform: cloudformation:DescribeStackResources on resource: arn:aws:cloudformation:eu-west-1:************:stack/my-api-development/*
我通过将以下内容添加到代码构建创建的策略中来“修复”...
错误2:
再次按下 Start Build 并得到:
An error occurred while provisioning your stack: ServerlessDeploymentBucket - API: s3:CreateBucket Access Denied.
我通过将以下内容添加到代码构建创建的策略中来“修复”...
错误 3:
Serverless Error ---------------------------------------
Missing required key 'Bucket' in params
最后:我的实际问题
- 是什么
Missing required key 'Bucket' in params
意思?我应该在哪里寻找? - 我对错误 1 和 2 的“修复”可以吗?我是 AWS 和 IAM 的新手,所以我在编辑策略时没有那么自信。
amazon-web-services - 使用 AWS CodeBuild 进行语义版本控制
目前我的团队正在使用 Jenkins 来管理我们的 CI/CD 工作流程。由于我们的基础设施完全在 AWS 中,我一直在考虑迁移到 AWS CodePipeline/CodeBuild 来管理它。
在当前状态下,我们正在对我们的工件进行版本控制,<major>.<minor>.<patch>-<jenkins build #>
即1.1.1-987
. 但是,CodeBuild 似乎没有任何内部版本号的概念。由于工件存储在 s3 中,<bucket>/<version>/<artifact>
我真的不想失去这种版本控制方法。
CodeBuild 确实提供了一些环境变量,我可以在这里看到:http: //docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref.html#build-env-ref-env-vars
但是从可用的内容来看,尝试使用构建 ID 或其他任何东西似乎很愚蠢。
CodeBuild 是否有任何现成的东西可以支持增量构建#?或者是否有 AWS 推荐的语义版本控制方法?搜索此主题返回的结果非常低
非常感谢任何帮助或建议
amazon-web-services - 如何从 AWS CodeBuild 构建访问测试报告?
如果我的测试失败,那么构建容器会被丢弃吗?
除了每次构建都将测试报告输出复制到 S3 存储桶中之外,有没有简单的方法可以查看哪些测试失败以及为什么失败?
amazon-web-services - 在 AWS CodePipeline 中访问 AWS CodeBuild 变量
我正在尝试使用 AWS CodeBuild Id 作为我的 docker 映像的标签。此 docker 映像是在 CodeBuild 的构建阶段构建的。我想获得这个 Coudebuild Id,它是我在 AWS Code Pipeline 阶段的 docker 标签。如何在 aws codepipeline 中访问这些 codebuild 环境变量?
代码构建阶段:
在这里,我的 docker 映像现在是我的 Repository Url 和我的 codebuild id 的组合。我想在aws codepipeline的部署阶段使用这个codebuild id,如何获取呢?
aws-codebuild - 如何在不同目录中有多个 CodeBuild 构建规范文件?
我有一个大型的monorepo,里面有很多项目。我想要有许多构建工作,每个工作都使用 repo 中相关树中的构建规范。
例如,我有一个名为 Email 的 lambda 函数和一个名为 Web 的 java 应用程序。每个源树都是兄弟,我想在每个中放置一个构建规范,并让不同的作业使用不同的 buildspec.yml 文件。
我找不到一种方法来完成这项工作,因为作业中指定的 buildspec 文件的名称必须位于 repo 的根目录(它是一个 git repo)。
amazon-web-services - AWS Codebuild .NET Core 构建 docker 映像
我们尝试使用默认的 AWS 代码构建映像来构建 .NET 核心应用程序,它运行良好。
现在我们需要构建到 Docker 镜像,但是默认镜像没有安装 docker。
AWS 可以选择在特权模式下运行 Builder 映像,以便您可以运行 docker-in-docker 操作。
我想知道是否有一个我可以使用的同时安装了 .NET Core 和 Docker 的图像,所以我可以构建代码,然后构建图像。
谢谢!!