我能够在 github 和 AWS CodePipeline 之间设置集成,因此现在我的代码在 lambda 函数的推送事件之后上传到 S3。这非常有效。
S3 上带有源代码的新 ZIP 会触发管道,从而构建代码。没关系。现在我还想为该项目构建一个 docker 镜像。
第一个问题是你不能混合项目(nodejs)构建和 docker 构建。很好,有道理。下一个问题是您不能为 docker 构建提供另一个 buildspec.yml。您已手动指定构建命令,好吧,这可以作为解决方法。
但最大的问题,或者说缺乏我的理解,是如何将 docker 构建作为管道的一部分?第一个构建步骤构建项目,下一个构建步骤构建 Docker 映像。两个独立的 AWS CodeBuild。
问题是管道构建步骤必须在输出上生成工件。但是 docker 构建不会生成任何文件,并且看起来 docker 构建后的最终 docker 推送不符合管道服务的工件资格。
有办法怎么做吗?
谢谢
当源代码由 CodeCommit 管理时,如何从 CodeBuild 构建获取提交的 Git SHA?
与任何其他 Git 存储库一样,每个 CodeCommit 提交都会获得一个唯一的 Git SHA。当 CodeBuild 执行时,可以从CODEBUILD_RESOLVED_SOURCE_VERSIONbuildspec.yml环境变量中读取 Git SHA 。
但是,我想知道 CodeBuild“外部”的 Git SHA,即在由“detail-type”的 CodeBuild 事件触发的 Lambda 函数中:“CodeBuild Build State Change”。不幸的是,如果您阅读文档,您会发现 Git SHA 不是事件数据的一部分。我还尝试调用CodeBuild.batchGetBuilds()函数(因为我从 CodeBuild 事件中知道构建 id),遗憾的是该响应中也没有 Git SHA。
使用 GitHub Webhook 创建 AWS CodeBuild 项目以使用 来运行拉取请求检查的最佳方法是什么aws-cdk?
我想在 amplify 中运行“npm build”(nuxt build) 后创建 dist 文件夹。
我在本地(mac)中运行 npm build ,然后创建 dist 文件夹。
我在 'npm build' 之后运行 'ls -a' ,然后 amplify 中不存在 dist 文件夹。
> nuxt build
2019-08-20T01:49:08.598Z [INFO]: # Executing command: ls -a
2019-08-20T01:49:08.602Z [INFO]: .
..
amplify.sh
amplify.yml
assets
components
.editorconfig
.eslintrc.js
.git
.gitignore
layouts
middleware
node_modules
.nuxt
nuxt.config.js
package.json
package-lock.json
pages
plugins
.prettierrc
README.md
static
store
.vscode
yarn.lock
# Completed phase: build
Run Code Online (Sandbox Code Playgroud)
这是package.json
{
...
"scripts": {
"dev": "nuxt",
"build": "nuxt build",
"start": "nuxt start",
"generate": …Run Code Online (Sandbox Code Playgroud) single-page-application vue.js aws-codebuild nuxt.js aws-amplify
我有一个 lambda,它通过 AWS SDK 函数启动 CodePipeline 执行startPipelineExecution。是否有任何机制可将参数传递给 CodePipeline 构建,以便它可以使用 CodeBuild 构建中的值作为环境变量?
我对 AWS 非常陌生,当我搜索从 GitHub(一个 python 项目)下载代码、运行它并将输出保存在 s3 中的内容时,我找到的第一个服务是 CodeBuild。
所以我使用 CodeBuild 来实现这种工作流程。
但现在我看到 AWS 有一项名为 AWS Batch 的服务,我想知道是否应该将我的架构迁移到 AWS Batch。
您能否解释一下 AWS CodeBuild 或 AWS Batch 哪一个更适合我的案例?何时使用 AWS Batch 而不是 AWS CodeBuild?
非常感谢。
我在尝试将文件从S3存储桶复制到构建工件时遇到此错误,构建后。
我的构建阶段错误日志显示:
COMMAND_EXECUTION_ERROR:执行命令时出错: aws s3 cp "s3://bucket/config.json" "config.json". Reason: exit status 1
这是我的 BuildSpec:
version: 0.2
phases:
install:
commands:
- npm install
build:
commands:
- npm run build
post_build:
commands:
- aws s3 cp "s3://bucket/config.json" "config.json"
Run Code Online (Sandbox Code Playgroud) amazon-s3 aws-cli amazon-elastic-beanstalk aws-codepipeline aws-codebuild
我有一个 AWS CodeBuild 项目,它尝试安装无服务器框架,但在标题中返回错误,但它表示框架已成功安装。我的理解是,这无法安装 snappy 模块。这是为什么?我该如何解决这个问题?
我在 buildspec.yaml 中运行的命令是:
npm install -g serverless
Run Code Online (Sandbox Code Playgroud)
我的用户是:
/root
Run Code Online (Sandbox Code Playgroud)
我有 buildspec.yml ,其中包含多个同相命令pre_build和更多同build相命令。当我将命令指定为数组项时
pre_build:
commands:
- $Env:TEST_SUBFOLDER='dev\';
- Invoke-Expression('cmd /c set')
Run Code Online (Sandbox Code Playgroud)
每个命令都在其自己的 shell 会话中执行。在上面的示例中,TEST_SUBFOLDER调用下一个命令时未设置环境变量。
但是如果我将命令指定为单个项目
pre_build:
commands:
$Env:TEST_SUBFOLDER='dev\'; `
Invoke-Expression('cmd /c set')
Run Code Online (Sandbox Code Playgroud)
每个命令都在同一个 shell 中运行,并且TEST_SUBFOLDER设置了环境变量。此功能记录在哪里?我没有找到任何参考。那么问题变量神秘消失了?AWS CodeBuild建议使用版本 0.2 的构建规范。我使用的是0.2版本
我有以下内容buildspec.yml
version: 0.2
env:
shell: bash
phases:
install:
runtime-versions:
nodejs: 12
commands:
- source cicd/app_cicd.sh
- npm_install
Run Code Online (Sandbox Code Playgroud)
哪里cicd/app_cicd.sh
#!/bin/bash
function npm_install() {
npm install
}
Run Code Online (Sandbox Code Playgroud)
但 CodeBuild 输出显示
[Container] 2021/05/23 01:55:32 Phase complete: DOWNLOAD_SOURCE State: SUCCEEDED
[Container] 2021/05/23 01:55:32 Phase context status code: Message:
[Container] 2021/05/23 01:55:33 Entering phase INSTALL
[Container] 2021/05/23 01:55:33 Running command export CICD_ROOT=$(pwd)
[Container] 2021/05/23 01:55:33 Running command source cicd/app_cicd.sh
[Container] 2021/05/23 01:55:33 Running command npm_install
/codebuild/output/tmp/script.sh: line 4: npm_install: command not found …Run Code Online (Sandbox Code Playgroud) aws-codebuild ×10
amazon-s3 ×1
aws-amplify ×1
aws-batch ×1
aws-cdk ×1
aws-cli ×1
aws-lambda ×1
docker ×1
git ×1
nuxt.js ×1
serverless ×1
vue.js ×1