问题标签 [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 code Deploy 来拉取应用程序代码吗?
我想在负载变高时自动扩展基础架构。我正在运行我的基础架构AWS
。Github
我有一个要求,我需要在发生时提取应用程序代码autoscaling
。由于代码经常更改,我们无法AMI
从 that 中获取并启动实例AMI
。所以我想从repositories
. AWS 刚刚推出了一项名为AWS CodeDeploy
. 如何使用此服务在实例启动时自动执行拉取代码的过程?
PS我已经编写了一个init script
自动附加一个EIP
白名单,该IP在不同的安全组上,并在实例启动时将实例置于a下load-balancer
,并在实例在自动缩放中终止时撤销所有内容。
amazon-web-services - 无法下载 AWS CodeDeploy 代理安装文件
我正在尝试在我的 Amazon Linux 中下载 AWS Codedeploy 代理文件。我按照http://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-run-agent.html中提到的说明,为 Amazon Linux 创建了适当的实例配置文件、服务角色等。一切都是最新的(Amazon Linux,CLI Packages,它是一个全新的实例,我已经尝试了至少 3 个以上的全新实例,结果相同)。所有实例都具有完整的出站 Internet 访问权限。
但以下从 S3 下载安装的语句总是失败,
aws s3 cp s3://aws-codedeploy-us-east-1/latest/install . --region us-east-1
出现错误,调用 HeadObject 操作时发生客户端错误 (403):禁止完成 1 个部分,剩余 ... 文件
谁能帮我解决这个错误?
amazon-web-services - 如何使用 CodeDeploy 在新的 EC2 实例上部署现有应用程序
当新的应用程序版本发布时,我使用 CodeShip 将我的应用程序部署到 AWS EC2 实例。CodeShip 首先将我的应用程序打包成 .zip 并放入 S3。每个部署包都使用不同的文件名生成。当我使用 CodeShip 进行部署时,他们会在CodeDeploy中创建一个新修订版并将其部署到所有当前实例。
在一个方向上,每次我部署新版本时,它都会部署到我所有已经启动的实例,但是如何将我的应用程序的最新版本从 CodeDeploy 部署到新的实例?有什么方法可以使用 aws-sdk(Ruby 或 cli)来实现这一点?
我使用 OpsWorks 来维护我的实例,并使用自定义 Chef 食谱来构建环境。
谢谢
amazon-cloudwatch - 使用 CodeDeploy 时停止 Amazon Cloudwatch
在 AWS CodeDeploy 中应用部署时,是否需要在 ApplicationStop 脚本阶段关闭 Amazon CloudWatch 并在 ApplicationStart 部署后重新启动它?
continuous-integration - Amazon Web Service CodeDeploy appspec.yml 问题
我有一个Node.js 应用程序,它使用CodeDeploy AWS 部署系统通过Codeship自动部署到 Amazon Web Service。
在部署过程中,我在appspec.yml中设置了要停止当前运行的 Web 应用程序。部署完成后,我希望再次启动 Web 应用程序。
但是,我还不能在部署期间从 appspec.yml 文件中成功调用这些脚本中的任何一个。
我在 AWS 部署代理日志中看到的当前错误是
这似乎指的是旧版本的 appspec.yml 文件,它试图在不同的位置运行这些脚本。即使我更改了已部署包中 appspec.yml 文件的内容,此错误消息在每次部署时都保持不变。
除了上面列出的 appspec.yml 文件之外,我还尝试进行以下更改:
- 没有列出每个钩子的runas参数
- 引用已部署目录中的脚本
- 引用部署目录之外的脚本
- 将版本参数初始设置为0.0
不幸的是,除了AWS 文档之外,关于 appspec.yml 故障排除的在线文档很少。
我做错了什么非常明显的事情?
amazon-web-services - 通过 Amazon Web Service CodeDeploy 使用 appspec.yml 设置目录所有者和权限
我正在使用CodeDeploy AWS 部署系统通过Codeship部署Node.js应用程序。
我正在使用appspec.yml文件来设置已部署目录之一的所有者和权限。
我想允许对将在部署的指定文件夹中创建的任何文件进行读/写。Web 应用程序开始运行后将创建文件。
目前我的 appspec.yml 包含以下内容:
amazon-web-services - AWS CodeDeploy 重复权限
我正在尝试在我的 appspec.yml 文件中设置权限,但是在运行部署时我不断收到有关重复权限设置的错误
/data/html/httpdocs/artisan 的重复权限设置说明
这是当前(列表格式除外)权限对象在我的 appspec.yml 中的配置方式,根据此线程推荐。我实际上有多个文件我想要不同的权限,但我似乎无法让它只用一个文件工作?什么是正确的方法?
amazon-web-services - 使用 AWS CodeDeploy 的环境变量
我有一个 Web 应用程序,它利用环境变量进行一些配置(数据库凭据、API 密钥等)。我目前正在使用 Elastic Beanstalk 进行部署,并且可以在 AWS 中轻松设置这些,这很棒,因为我的代码库中没有这些敏感数据。
但是,我正在考虑从 Elastic Beanstalk 切换,以便我可以利用我的 Web 实例更多的灵活性,自然我正在考虑使用 CodeDeploy 进行部署(从我的 Codeship CI 设置)。CodeDeploy 相当简单,我已经将它与 Codeship 集成得很好,但我注意到没有像 Elastic Beanstalk 那样使用 CodeDeploy 设置环境变量的内置功能。有人对此过程有任何最佳实践吗?
amazon-web-services - 如何使用 AWS 部署工具处理数据库迁移
Amazon Web Services 可根据您的需要提供许多持续部署和管理工具,例如 Elastic Beanstalk、OpsWorks、Cloud Formation 和 Code Deploy。基本思想是在零停机的情况下促进代码部署和升级。他们还使用 AWS 资源帮助管理最佳架构实践。
为简单起见,让我们假设一个基本架构,其中您有一个 2 撕裂结构;负载均衡器后面的应用程序服务器集合,然后是使用多区域 RDS 数据库的持久层。
跨一组实例(应用服务器)的实际代码升级很容易理解。对于一个非常简单的概述,AWS 服务会依次升级每个节点并关闭连接,因此相关实例不会被使用。
但是,我不明白如何管理数据库升级。假设我们要从版本 1.0.0 升级到应用程序的 2.0.0,并且需要更改数据库结构。通常你会使用脚本或像 Flyway 这样的库来执行升级。但是,如果有一组服务器要升级,则存在一个点,即 1.0.0 和 2.0.0 应用程序存在于整个舰队中,每个应用程序都需要不同的数据库结构。
我需要了解这实际上是如何实现的(高级),以了解执行数据库迁移的最佳方式/时间是什么。我想他们可以通过多种方式实现这一目标,但我正在努力了解他们如何做到这一点并允许 1.0.0 和 2.0.0 保存数据而不会丢失。
如果他们使用第一个应用程序节点升级迁移数据库结构,同时创建 1.0.0 的缓存版本。连接到 1.0.0 应用程序的用户使用数据库的缓存版本保持不变,连接到 2.0.0 应用程序的用户保持到新迁移的数据库。迁移所有应用程序节点后,将缓存的数据合并到数据库中。
他们似乎不太可能做到这一点,因为合并会非常复杂,但我看不到另一种方式。任何指针/帮助将不胜感激。
aws-code-deploy - CodeDeploy 可以与独立的 Git 服务器一起使用吗?
有谁知道是否可以使 CodeDeploy 与通用 Git 服务器而不是 GitHub 或 S3 一起工作?