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

时间:2015-07-02 08:03:21

标签: ember.js deployment amazon-s3 ember-cli

我正在使用ember-cli-deploy和ember-deploy-s3-index。

关注this article我设法将索引部署到具有静态Web托管的存储桶和另一个存放资产的存储桶。

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

  1. 每个部署都会添加一个带有新名称的索引文件(例如:test:b2907fa.html),我需要手动更改索引文档以匹配我的s3配置中的最新部署。
  2. 我需要在每次部署时为文件添加权限。
  3. 我想为我的索引文件设置一个固定名称(覆盖在部署时存在),并且该文件默认具有查看权限。

    这可能吗? 感谢。

2 个答案:

答案 0 :(得分:2)

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

部署完成后,你需要运行ember:deploy:activate --revision test:b2907fa - environment production,它会在s3存储桶中更改它。

答案 1 :(得分:0)

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

部署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服务器

因此,不是使用我的第3个命令(rsync),而是使用s3cmd将文件夹放入s3(可能是s3cmd put命令)