【问题标题】:Deploy only specified files to AWS Elastic Beanstalk仅将指定文件部署到 AWS Elastic Beanstalk
【发布时间】:2015-04-05 18:53:21
【问题描述】:

AWS Elastic Beanstalk 允许您使用简单的eb deploy 命令将 git 存储库上传到您的环境。

我知道 .gitignore 中的任何内容都不会被部署,但是我想保留在存储库中但不想在部署时上传的源文件(sass、未压缩脚本)呢?

有没有办法只上传特定文件?


跟进

使用下面 Tal 的回答,我可以通过以下方式删除部署时的文件:

container_commands:
  remove_src_folder:
    command: "rm -rf public/src/"

鉴于此文件夹结构:

— .elasticbeanstalk
— .git
— public/
    — dist/
    — src/
    — index.php

【问题讨论】:

    标签: git amazon-web-services deployment amazon-elastic-beanstalk


    【解决方案1】:

    如果您使用eb deploy,那么 git 中的所有内容都将被上传并部署到 EB 实例。也就是说,您可以创建一个 ebextension,在部署后删除这些文件。
    下面是一个名为 .ebextensions/cleanup.config 的文件的示例:

    container_commands:
      remove_unneeded_file:
        rm $EB_APP_CURRENT_DIR/*.saas
    

    这将在源被复制到 EB 实例之后,但在 Web 服务器启动之前运行。

    【讨论】:

    • 我认为您的语法在 "rm $EB_APP..." 之前需要一个命令,但是这个解决方案有效,谢谢!
    • Activity execution failed, because: rm: cannot remove 还需要什么来完成这项工作?我已经在最后一行之前添加了command:
    【解决方案2】:

    您可以使用 .ebignore 忽略 git 中的文件。这将导致.gitignore 被忽略,因此您可能需要在两个文件中使用一些重复的规则。

    这里有记录:

    http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-configuration.html#eb-cli3-ebignore

    【讨论】:

    • 还有个好账号here
    猜你喜欢
    • 2020-03-24
    • 2015-09-20
    • 2016-07-08
    • 1970-01-01
    • 2018-09-06
    • 2019-10-30
    • 2020-08-14
    • 2020-08-02
    • 2014-12-25
    相关资源
    最近更新 更多