问题标签 [aws-code-deploy]
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 - aws - upgrade autoscale base AMI
I have setup a HA
architecture using Autoscaling
, load balancer
, code deploy
.
I have a base-image
through which autoscale
launch any new instance. This base-image
will get outdated with time and I may have to upgrade it.
My confusion is how can I provision this base AMI
to install desire version of packages ? and How will I provision the already in-service
instances ?
For-example - Currently my base AMI
have php5.3
but if in future I need PHP5.5
then how can I provision in-service
fleet of EC2 instances
and as well as base AMI
I have Chef as provisioning server. So how should I proceed for above problem ?
amazon-web-services - AWS Codedeploy-agent 部署正在使用我所有的 inode
我在 AWS EC2 c3.large 实例上运行 Ubuntu 14.04 trusty。
我的构建开始失败,出现“设备上没有剩余空间”错误,尽管df
显示我的磁盘使用量远未满。
然后,我通过运行df -ih
并看到我的 inode 使用率接近 100%,发现这是我的 inode的问题/dev/xvda1
。
我使用以下脚本将 inode 使用情况跟踪到 codedeploy 代理,通过将目录for i in /*; do echo $i; find $i |wc -l; done
更改/*
为更具体的目录来查找特定问题,从而找到具有高 inode 使用率的目录。
现在我已经到了我所处的位置/opt/codedeploy-agent/deployment-root/aafbfc42-d92d-4260-be40-6c331a3c3a13
,codeeploy 保留的最后 5 个部署中的每一个都使用 ~70k inode,其中大部分是由于node_modules
我的应用程序中的目录,其中 ~40k 由babel-preset-es2015
.
我不确定从这里开始的最佳方式是什么。这是正常数量的 inodebabel-preset-es2015
吗?有没有一种方法可以安全地删除整个部署或以某种方式不包含node_modules
在这些部署中?我还缺少其他解决方案吗?
谢谢
编辑:对此进行更多研究。我的一台生产服务器(与另一台相同)有 630 万个 inode,而问题服务器只有 512K 个 inode...
EDIT2:看起来一个实例只附加了一个 8GB 卷,而另一个实例有一个 100GB 卷。仍然不确定为什么 es2015 预设会占用这么多空间,但至少我现在知道从哪里开始修复这个问题。
amazon-web-services - 当某些 appspec 挂钩失败时,如何使 AWS CodeDeploy 返回错误?
我有一个带有两个实例的 AWS。我已将 CodeDeploy 配置为在所有实例上自动部署我的项目。
在appspec.yml
我有那个部分:
deploy_afterinstall
是一个简单的 bash 脚本。有时其中的某些命令会失败。例如这个更新/安装作曲家依赖的命令。
但 CodeDeploy 忽略此脚本中的任何错误,并始终说部署成功。我怎样才能改变这种行为?当挂钩中的某些命令未成功完成时,我希望部署失败,并在部署控制台或日志中查看错误。
jenkins - 如何使用 jenkins 配置 aws 代码部署
在 Jenkins 中,我想在构建成功时自动部署代码。我已经在 Jenkins 中安装了 aws code deploy 插件,但无法使用 Jenkins 进行配置。任何想法?
amazon-web-services - 使用 AWS Code Deploy 重新部署旧版本
在 AWS Code Deploy 的 AWS 控制台中,我可以看到应用程序的所有已部署修订的列表。它还允许我通过单击按钮重新部署旧版本!
我想使用 CLI 做同样的事情,以便重新部署以前版本的应用程序,我们只需知道修订 ID 即可部署,而不是运行完整的 push 或 create-deployment 命令。
有没有办法运行类似于“aws deploy push”的命令?
unix - 杀死在 `node 创建的端口 3000 上运行的重生服务器。> /dev/null 2> /dev/null < /dev/null &`
我正在使用AWS CodeDeploy ,其中在pm2上运行的服务器无法正常工作,因为故障排除文档中给出了此处的解释。
我按照文档和AfterInstall 脚本用于node . > /dev/null 2> /dev/null < /dev/null &
在后台运行节点服务器。
我试过以下方法来杀死服务器
fuser -k 3000/tcp
lsof -P | grep ':3000' | awk '{print $2}' | xargs kill -9
kill -9 $(lsof -t -i:3000)
但每次新进程都会以不同的 PID 重新启动。
如何终止此后台进程并将其添加到CodeDeploy的ApplicationStop 脚本?
amazon-web-services - 如何将 SNS 主题指定为使用 CloudFormation 的 CodeDeploy 部署组的触发器?
我设置了一个 SNS 主题,当发生 CodeDeploy 部署时,我可以向该主题发送消息。在 AWS 控制台中,SNS 主题在 CodeDeploy 部署组配置中指定。如果我通过控制台 UI 手动配置所需的 SNS 主题,我可以成功发送部署通知。
我希望能够在创建部署组时在 CloudFormation 模板内创建此关联。但是,CloudFormation 文档没有列出 AWS::CodeDeploy::DeploymentGroup 资源类型的 trigger/SNS/target 属性。
这是当前 CloudFormation 实现的限制,还是我只是在解决这个问题?
git - 当依赖项位于私有存储库中时,如何使用 composer 通过 AWS codeploy 进行部署
所以我是 AWS Codedeploy 的新手,我成功部署了一个小问题,每次我添加到我的部署脚本编写器更新时,我都会收到这条可爱的小消息“权限被拒绝(公钥)”。
现在,当我以 ubuntu 用户身份运行 composer update 时,它运行良好,我的密钥设置在私有存储库中,我确保 bash 文件作为 ubuntu 运行。
那么其他人如何设置他们的代码部署以使用私有作曲家存储库?对不起,如果有明显的东西,但我很困惑。
如果有人可以回答你会让一位开发人员非常高兴。
amazon-web-services - 使用 CodeDeploy 最佳实践从 Github 到 AWS EC2
我们是一个相对缺乏经验的开发团队,试图以“正确的方式”做事。我们将 Github 与 AWS 和 CodeDeploy 一起用于多个基于 PHP 的 Web 应用程序。当主分支更新时,我们正在使用 Github 的自动部署和 CodeDeploy。
我们在不同的 AZ 中有两个生产 EC2 Web 服务器以及一个 EC2 暂存服务器。
它目前的工作方式如下:
我们在分支中编写代码,我们推送到 GitHub,我们合并到“master”,然后启动 CodeDeploy 以写入我们可以测试它的登台服务器。一旦我们对其进行了测试,我们就会手动启动 CodeDeploy 以写入生产环境(使用相同的提交 ID)。
问题是,如果测试出现问题,并且我们有另一个分支等待合并和测试,那么一切都会备份吗?
我们显然做错了什么。我们正在写入 master 分支以利用 GitHub 的自动部署,但我认为 master 仅在准备好部署时才写入?
有人可以帮助我们并让我们直截了当吗?
谢谢
linux - AWS Linux CodeDeploy 权限问题(使用 Bitbucket、Tomcat、Shell 脚本)
我正在尝试使用 CodeDeploy 将文件部署到安装了 Tomcat 的 AWS Beanstalk 服务器。除了 appspec.yml 调用我的 .sh 脚本并执行mvn install命令时发生的异常,一切都配置得很好。我已经尝试了我想象的所有权限组合(以及我找到的每个 StackOverflow 答案),但没有任何效果。
我还希望 appspec.yml 的文件部分在 .sh 脚本执行之前执行。它应该是这样工作的:
- appspec.yml 将所有文件移动到 webapps 文件夹
- build.sh 被执行
- mvn 运行并创建 .war 文件
- build.sh 做了一些清理工作
appspec.yml (我已经尝试了多个其他)
构建.sh
从异常中可以明显看出,maven 试图在没有权限的情况下创建文件夹目标。所以问题是为什么首先它试图在这个文件夹中执行它,然后如何获得正确的访问权限。