【问题标题】:AutoDeploy a Laravel app from GitHub branch to AWS EC2 or Elastic Beanstalk将 Laravel 应用程序从 GitHub 分支自动部署到 AWS EC2 或 Elastic Beanstalk
【发布时间】:2017-12-05 00:04:27
【问题描述】:

我正在尝试将 Laravel 应用程序从 Github 分支自动部署到 AWS EC2 或 Elastic Beanstalk(首选),但我还没有找到正确的解决方案,我遵循的教程之一是下面的教程。有人对此有解决方案吗?

提前谢谢你!

https://aws.amazon.com/blogs/devops/building-continuous-deployment-on-aws-with-aws-codepipeline-jenkins-and-aws-elastic-beanstalk/

【问题讨论】:

    标签: laravel amazon-web-services jenkins amazon-ec2


    【解决方案1】:

    您可以通过以下步骤做到这一点

    1. 使用 Github 插件设置 Jenkins
    2. InstallAWS Elastic Beanstalk CLI
    3. 创建具有 Elastic Beanstalk 部署权限的 IAM 用户并将访问密钥添加到 AWS CLI(如果 Jenkins 在 EC2 内运行,您可以创建具有所需权限的角色并附加到 EC2 实例,而不是创建用户)李>
    4. 在 Jenkins 项目中,将分支克隆到项目目录并在 shell 脚本中执行 eb deploy 以将其部署到 Elastic Beanstalk。 (当新代码推送到分支时,您可以使用构建触发器自动执行此操作)

    或者还有其他方法,例如

    【讨论】:

      【解决方案2】:

      使用 eb deploy 的替代方法是使用 Jenkins AWS Beanstalk Publisher 插件 https://wiki.jenkins.io/display/JENKINS/AWS+Beanstalk+Publisher+Plugin

      这可以通过转到管理 Jenkins > 管理插件 > 搜索 AWS Beanstalk Publisher 来安装。根对象是您要部署到 EB 的项目的 zip 文件。 Build Steps 可以执行一个步骤来压缩你的 repo 中的文件。

      1. 您仍然需要填写 Jenkins 作业配置的 Source Control Management 部分。这必须包含您的 GitHub 存储库的 URL,以及用于访问它们的凭据。
      2. 执行 Shell 作为构建步骤的一部分,将要部署到 EB 的存储库中的文件压缩。例如,zip -r myfiles.zip * 将压缩 GitHub 存储库中的所有文件。
      3. 使用 AWS Beanstalk Publisher Plugin 并指定 myfiles.zip 作为根对象(文件/目录)的值。

      【讨论】:

        猜你喜欢
        • 2016-12-29
        • 2021-07-21
        • 2020-02-21
        • 2021-02-11
        • 2018-12-07
        • 2022-06-11
        • 2018-04-21
        • 2017-04-14
        • 2013-08-05
        相关资源
        最近更新 更多