问题标签 [aws-codepipeline]
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.
node.js - NodeJS Lambda问题与操作顺序
主要问题是当代码使用 CodePipeline 执行时,它将下载一个输入工件,解压缩下载的工件和 grep template.yml 以获得一个名为 Function name 的字符串。它大部分时间都有效,但偶尔会说找不到 template.yml 文件。如果我再次重新运行它,它将正常工作。任何帮助表示赞赏。谢谢!
'使用严格'
amazon-web-services - 从 AWS CodePipeline 调用 AWS Lambda 函数时权限被拒绝
我已将管道设置为调用 AWS Lamba 函数。运行 10 分钟后,这是我得到的错误:
操作执行失败 AWS Lambda 函数 addAMIToAutoScalingLC 未能返回结果。检查该函数以验证它是否有权调用 PutJobSuccessResult 操作以及是否调用了 PutJobSuccessResult。
日志本身不包含相关信息。
我认为我的 IAM 权限设置正确:
- Lambda 函数使用以下角色运行:
AWSLambdaFullAccess
,AWSCodePipelineFullAccess
。 - 我认为 CodePipeline 的运行角色
AWS-CodePipeline-Service
具有:AWSLambdaFullAccess
我认为我的脚本会调用,PutJobSuccessResult
因为当我测试脚本时,我会得到一个Execution result: succeeded
.
我的脚本不需要任何参数,所以我没有在 CodePipeline 中提供任何用户参数。
我应该怎么做才能进一步调查?
node.js - 在部署之前使用 AWS CodeBuild 或 Lambda 运行 jasmine 测试
伙计们,一直在尝试找出启动 CodeBuild 项目的正确方法,该项目要么在编译和运行 jasmine 测试后生成工件,要么失败并阻止 CodePipeline 继续部署。
如果我buildspec.yml
看起来像:
我应该如何退出npm test
灵态?如果 jasmine 测试中的任何一个失败npm test
,还会产生工件吗?
我的另一个想法是,如果任何测试失败,会发生以下情况:
或向 CodeBuild 发送停止信号?
或者我如何终止构建以不产生工件?也许我弄错了,它应该是一个启动单元测试的 Lambda 函数。我不确定 Lambda 是否适合这个,因为我可以想象一些服务需要一段时间才能完成单元测试
谢谢!
amazon-web-services - AWS Codepipeline 中的失败步骤通知
如何在 AWS Codepipeline 中触发步骤/操作失败的通知?
aws-codepipeline - 部署失败
如何解决部署失败的问题?
“整体部署失败,因为太多单个实例部署失败,可用于部署的健康实例太少,或者部署组中的某些实例遇到问题。(错误代码:HEALTH_CONSTRAINTS)”
我正在尝试为构建和暂存应用程序创建代码管道。我使用代码提交作为源,代码构建作为构建器,代码部署用于部署我的代码。我已经在实例上安装了代码部署代理,但我仍然遇到了上述问题。请让我知道解决方案。
aws-codepipeline - AWS 代码管道指标
对于设置有多个阶段且每个阶段具有一个或多个操作的管道,是否有一种方法可以获得指标,例如每个阶段所花费的时间和完成每个操作的时间。
例如,如果有一个包含一个构建操作的开发构建阶段,有没有办法让这个阶段在管道运行或执行中完成所花费的时间。
我想到了一种解决方法,方法是在实际操作/阶段之前和之后添加一个“Ïnvoke”操作,其中自定义 lambda 目标可以跟踪每个阶段活动。
有没有办法以更简单的方式实现这一目标?
amazon-web-services - CodePipeline 无法找到 SAM 模板 yaml 文件
我正在尝试使用部署到 Lambda 的 Cloudformation SAM 堆栈设置 AWS Codepipeline,并通过 Pipeline 控制台执行此操作。管道传递来自 Codecommit 过程的克隆和使用 Codebuild 的构建过程,但是在使用 Cloudformation 进行部署时失败。
我收到以下错误消息:
Action execution failed
Invalid TemplatePath: MyAppBuild::samTemplate.yml
我一直在非常密切地关注文档(http://docs.aws.amazon.com/lambda/latest/dg/automating-deployment.html),并且在我一直关注的代码管道设置表单(模板文件)的第 16 字段中放 samTemplate.yml。
我的 repo 的根目录中也有 samTemplate.yml(这也是项目的根目录)。
我已将 Codebuild 输出工件名称与 Cloudformation 输入工件名称匹配,并且它们完全匹配。
我在这里错过了什么吗?如何让 Cloudformation 部署过程识别 sam 模板?
编辑 1我已经改用 Codestar 而不是直接使用 CodePipeline。我的 buildspec.yml 中没有什么特别之处,但如果有人感兴趣,它会在下面。
对于 CodeBuild 的新手来说,要记住的一件事是,由此创建的 zip 文件是构建操作的根目录,并且是传输到最终部署(在我的例子中是 Lambda)的 zip 文件。
amazon-web-services - AWS CodePipeline Jenkins 插件是否支持输出支持通配符?
AWS CodePipeline Jenkins 插件在 AWS CodePipeline Publisher 部分(在构建后操作中)中有“输出位置”部分。我的问题是,我可以在“输出位置”中指定通配符吗?假设某个文件夹包含多个文件和文件夹,我只想输出一个 jar 文件,那么我可以在“输出位置”中指定 /PATH/*.jar 吗?
amazon-web-services - AWS 发布管道 CodeCommit -> CodeBuild -> Beanstalk
我正在尝试创建一个发布管道,其中我的源代码位于 CodeCommit 中,我使用 Codebuild 进行构建并将其部署到 Beanstalk 中。
代码提交 -> CodeBuild -> Beanstalk
实际上这是一个基于 Java 的应用程序,我正在尝试将 .JAR 文件部署到 Beanstalk(JAVA 平台)中。但是在上面的发布管道中。Codebuild 生成一些构建工件,但它们不是 .JAR。
如果我单独运行 Codebuild,我会将我的工件上传到 S3 存储桶中。如果有人在发布管道上成功创建,请告诉我。
我也尝试过这种方式。即创建两个发布管道
1) CodeCommit -> CodeBuild 上面会构建一个.jar文件,放入S3
2) CodeCommit -> Beanstalk 上面的 S3 存储桶将作为源添加,因此如果有新的 .JAR 上传到相应的 S3 存储桶中,则会开始部署。
这种方法效果很好。
amazon-web-services - 如何将 GIT webhook 与 AWS CodePipeline 集成?
如果开发人员将代码提交到 Git 分支,能否给我一些关于配置 AWS CodePipeline 以触发 ZipDownload 或 Git 拉取的意见?我是 AWS CodePipeline 和 AWS Lamba 的新手。