我的CodeDeploy部署失败了.通常我能够在每个实例上看到事件列表,并查看哪些事件失败/通过.这不再有效,事件列表为空.可能是什么导致了这个?
我们有一个带有 Web 和工作节点的应用程序 - 两者的代码位于同一个 git 中,但部署到不同的自动缩放组。问题是只有一个 appspec 文件,但 Web/worker 节点的部署脚本(AfterInstall、AppStart 等)不同。我将如何设置我的 CodeDeploy 来部署这两个应用程序并执行不同的部署脚本?
当尝试通过代码部署部署我的rails应用程序时,我收到以下错误消息:
No such file or directory - /opt/codedeploy-agent/deployment-root/b3ff73b4-aa93-4e49-99e4-c26cdcf7a6f0/d-06LE313R9/deployment-archive/appspec.yml
Run Code Online (Sandbox Code Playgroud)
在"BeforeInstall"错误.
我的rails app根目录中有appspec.yml(例如,它是myapp/appspec.yml),并且不知道如何将appspec文件放入deployment-archive目录.
我正在尝试使用我的一个ec2实例设置CodeDeploy服务.在表单上执行此操作,一切正常,直到我到达"服务角色"部分.
该字段不显示任何可能的ARN.
这就是我所看到的:

我创建了一个IAM用户并授予他们管理员权限并将他们的ARN粘贴到此字段中并收到错误消息
不能承担提供的角色.
有谁知道这种情况发生的原因?
我正在开发一个场景,我需要将代码从GIT存储库推送到AWS Instance.为此,我使用AWS CodeDeploy功能.但是在部署代码的过程的最后一步,我收到以下错误.
部署失败整体部署失败,因为部署失败的个别实例太多,可用于部署的健康实例太少,或者部署组中的某些实例遇到问题.(错误代码:HEALTH_CONSTRAINTS)
尝试部署Node.js应用程序时npm: command not found,我的post_install.shAfterInstall脚本中出现错误.什么是超级奇怪的是我运行的BeforeInstall脚本npm install -g pm2,它完美无缺,没有任何错误.
两者都以ubuntu用户身份运行.为什么这个命令在一个CodeDeploy脚本中工作而在另一个脚本中失败?
我们有一个长期运行的 EMR 集群,它使用引导操作安装了多个库。其中一些库正在持续开发中,它们的代码库位于 GitHub 上。
我一直在寻找以类似于 Travis 和 CodeDeploy 的方式将 Travis CI 与 AWS EMR 结合使用。这个想法是让 GitHub 上的代码得到测试并自动部署到 EMR,同时使用引导操作在所有 EMR 的节点上安装更新的库。
我想出的一个解决方案是在中间使用一个 EC2 实例,可以首先使用 Travis 和 CodeDeploy 将代码部署到实例上。之后触发实例上的午餐脚本以使用更新的库创建新的 EMR 集群。
但是,上面的解决方案意味着我们每次部署新版本的系统时都需要创建一个新的 EMR 集群
还有其他建议吗?
我在VPC中有私有子网,路由表如下:
XX.X.0.X/16 local
0.0.0.0/0 nat-0XXXXXXXXX
Run Code Online (Sandbox Code Playgroud)
使用上述配置,AWS CodeDeploy失败并显示错误,因为Error code: HEALTH_CONSTRAINTS没有日志条目/opt/codedeploy-agent/deployment-root/deployment-logs/codedeploy-agent-deployments.log.
但是当我通过添加带有以下路由表的Internet Gateway来更改它以允许公共访问时,AWS CodeDeploy成功地获得了竞争.
XX.X.0.X/16 local
0.0.0.0/0 igw-0XXXXXXXXX
Run Code Online (Sandbox Code Playgroud)
我错过了其他任何配置吗?
我正在尝试将我的 Rails 应用程序从 Heroku 迁移到 AWS。我让我的 AWS CodePipeline 一直工作到最后一点,为 CodeDeploy 编写 appspec.yml。
这需要我编写 Ubuntu 命令来停止我的应用程序,可能会做一些迁移的事情,然后再次启动应用程序。
这不是我的强项,所以我在这部分有点挣扎。我想我会从执行“rails server”作为“AfterInstall”动作开始。但是后来我打开了一整箱新问题,即 EC2 实例上没有安装 Rails 和 Bundler 等等。当我试图一次只解决一个小问题时,我想知道我是否真的应该编写这个文件从头开始。
所以这是我的问题:对于使用 CodeDeploy 部署的所有 Rails 应用程序,这是否有些相同?难道这不应该已经可用,希望由比我更了解他或她在做什么的人来完成?我没有通过谷歌找到太多东西,所以我希望有人能为我解释一下。我担心即使我让它工作,它最终也不会是一个好的、健壮的和生产就绪的 appspec.yml 无论如何......
已经非常感谢了!
ruby-on-rails amazon-web-services aws-code-deploy aws-codepipeline
我正在从 aws-cli 开始部署:
"C:\Program Files\Amazon\AWSCLI\bin\aws.exe" deploy create-deployment --application-name App.Web --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name Development-Staging-UAT --region us-west-2 --description "App.Web" --s3-location bucket=app-artifacts/development,bundleType=zip,key=Publish.zip
Run Code Online (Sandbox Code Playgroud)
这确实启动了部署,但在 DownloadBundle 部分以错误结束:
:bucket option must not contain a forward-slash (/)
Run Code Online (Sandbox Code Playgroud)
修订位置 s3://app-artifacts/development/Publish.zip
我究竟做错了什么?
aws-code-deploy ×10
amazon-ec2 ×2
amazon-emr ×1
aws-cli ×1
aws-vpc ×1
bash ×1
git ×1
travis-ci ×1