最近,我参与了一个项目,我在 AWS 中设置了一个 LAMP 堆栈,并帮助团队构建其他基础设施。根据公司政策,我们需要每 60 天创建一个新实例,获取最新的 ami 并杀死前一个实例。出于这个原因,我要求开发团队将 php 代码移动到 git 存储库。这将帮助我自动化构建,以便我可以直接从 git 中提取代码。但是,他们说出于某种许可原因,他们不想在 git 中移动代码,因为他们使用的代码是从 phpgrid(供应商)购买的。这对我来说有点奇怪...无论如何,如果代码不在 git 中,我们如何在 Web 服务器中自动化代码部署?对最佳实践有什么想法吗?不想从某人的机器:( FTP
AWS Code Deploy 服务专为此类代码部署而构建。
AWSCodeDeploy 是 AWS 部署服务系列的一部分,这些服务具有 包括 AWS Elastic Beanstalk、AWS CodePipeline、AWS CloudFormation、 和 AWS OpsWorks。AWS CodeDeploy 协调应用程序部署 到 Amazon EC2 实例和/或本地实例。(本地 实例是不是 Amazon EC2 实例的物理设备。
应用程序可以包含可部署的内容,如代码、Web 和 配置文件、可执行文件、包、脚本等。自主技术 CodeDeploy 从 Amazon S3 存储桶和 GitHub 部署应用程序 存储 库。
您实际上可以使用任何存储库。您只需要一个过程即可将代码从其存储库移动到指定的 S3 存储桶。代码可以在任何地方:SVN、内部部署等。 只需将其压缩,移动到 S3 并注册修订并根据需要进行部署。GIT 存储库不是必需的,但 CodeDeploy 直接支持它。
我们将该过程与我们的持续集成服务器 Jenkins 集成,因此所有构建都将作为 CodeDeploy 就绪修订版发送到 S3。
部署到 AWS 实例时,使用此功能无需任何费用 - 免费!