Docker & Amazon Beanstalk - 部署 Angular 应用程序
Docker & Amazon Beanstalk - Deploy an Angular application
我正在尝试部署一个 dist 文件夹,该文件夹是 Gulp 使用 Dockerfile 和 Amazon EB 通过版本控制生成的。
当我 运行 eb 部署时失败:
COPY dist /var/www/html dist: no such file or directory. Check snapshot logs for details. Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/03build.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
这是因为 dist 目录不受源代码管理吗?如果是这样,将 dist 目录传输到 EB 同时仍然使用我的 docker 文件来部署和配置应用程序的最佳方法是什么?
下面是我的 Dockerfile:
FROM nimmis/apache-php5
COPY dist /var/www/html
WORKDIR /var/www/html
EXPOSE 80
如果您真的想要 docker 映像中的 dist 文件,请安装 gulp 和 运行 命令以在 Dockerfile 中生成 dist 文件夹。
查看 Dockerfiles 的 运行 命令
我认为我对 eb deploy 的理解有问题。答案是使用 bash 脚本压缩 dist 目录和其他文件,并为 config.yml 文件创建我自己的工件:
例如
dist(应用程序文件)
配置(php.ini 和 000-default.conf)
Dockerfile
然后将目录添加到config.yml:
deploy:
artifact: dist.zip
然后我能够编写 bash 脚本来创建版本号标签,然后部署到 Beanstalk:
eb deploy --staged --label {version_number}
我正在尝试部署一个 dist 文件夹,该文件夹是 Gulp 使用 Dockerfile 和 Amazon EB 通过版本控制生成的。
当我 运行 eb 部署时失败:
COPY dist /var/www/html dist: no such file or directory. Check snapshot logs for details. Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/03build.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
这是因为 dist 目录不受源代码管理吗?如果是这样,将 dist 目录传输到 EB 同时仍然使用我的 docker 文件来部署和配置应用程序的最佳方法是什么?
下面是我的 Dockerfile:
FROM nimmis/apache-php5
COPY dist /var/www/html
WORKDIR /var/www/html
EXPOSE 80
如果您真的想要 docker 映像中的 dist 文件,请安装 gulp 和 运行 命令以在 Dockerfile 中生成 dist 文件夹。
查看 Dockerfiles 的 运行 命令
我认为我对 eb deploy 的理解有问题。答案是使用 bash 脚本压缩 dist 目录和其他文件,并为 config.yml 文件创建我自己的工件:
例如
dist(应用程序文件) 配置(php.ini 和 000-default.conf) Dockerfile
然后将目录添加到config.yml:
deploy:
artifact: dist.zip
然后我能够编写 bash 脚本来创建版本号标签,然后部署到 Beanstalk:
eb deploy --staged --label {version_number}