我使用的是ember-cli deploy和ember-deploy-s3-index。
在本文之后,我设法将索引部署到一个具有静态web托管的bucket和另一个保存资产的bucket中。
我想自动化(CI)部署过程,但有两个问题:
- 每个部署都会添加一个具有新名称的索引文件(例如test:b2907fa.html),我需要手动更改索引文档以匹配s3配置中的最新部署
- 我需要在每次部署时为文件添加权限
我希望我的索引文件有一个固定的名称(覆盖部署时存在的名称),并且默认情况下该文件将具有查看权限。
这可能吗?谢谢
事实证明,您不需要更改索引文档。
部署后,您需要运行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
)