如何在没有sha的情况下将ember-cli索引部署到s3



我使用的是ember-cli deploy和ember-deploy-s3-index。

在本文之后,我设法将索引部署到一个具有静态web托管的bucket和另一个保存资产的bucket中。

我想自动化(CI)部署过程,但有两个问题:

  1. 每个部署都会添加一个具有新名称的索引文件(例如test:b2907fa.html),我需要手动更改索引文档以匹配s3配置中的最新部署
  2. 我需要在每次部署时为文件添加权限

我希望我的索引文件有一个固定的名称(覆盖部署时存在的名称),并且默认情况下该文件将具有查看权限。

这可能吗?谢谢

事实证明,您不需要更改索引文档。

部署后,您需要运行ember:deploy:activate--修订版测试:b2907fa--环境生产,它将在s3存储桶中对其进行更改。

没有附加组件/依赖项的更简单的替代方案:

部署ember-cli应用程序非常简单,只需将dist/文件夹的内容同步到服务器即可(在使用--production标志构建之后)。然后可以静态地为这些文件提供

以下是我为自动化部署过程而编写的脚本:

printf "** Depoying application**n"
cd ~/Desktop/Project/ember_test/censored
printf "n** Building static files **n"
ember build --environment=production
printf "n** Synchronizing distribution folder to frontend.censored.co.za **n"
rsync -rv ~/Desktop/Project/ember_test/censored/dist frontend@frontend.censored.co.za:/var/www/html/censored --exclude ".*/" --exclude ".*" --delete
printf "n** Removing production build from local repository **n"
rm -rv ~/Desktop/Project/ember_test/censored/dist/*
printf "n** Deployment done. **n"

这将部署到您想要部署到s3的linux服务器

因此,您将使用s3cmd将文件夹放入s3(可能是s3cmd put命令)

,而不是我的第三个命令(rsync

最新更新