Ember.js 如何在没有sha的情况下将ember cli索引部署到s3
我正在使用ember-cli-deploy和ember-deploy-s3-index 接下来,我设法将索引部署到一个包含静态web托管的bucket中,另一个bucket保存资产 我想自动化(CI)部署过程,但存在两个问题:Ember.js 如何在没有sha的情况下将ember cli索引部署到s3,ember.js,deployment,amazon-s3,ember-cli,Ember.js,Deployment,Amazon S3,Ember Cli,我正在使用ember-cli-deploy和ember-deploy-s3-index 接下来,我设法将索引部署到一个包含静态web托管的bucket中,另一个bucket保存资产 我想自动化(CI)部署过程,但存在两个问题: 每个部署都会添加一个具有新名称的索引文件(例如test:b2907fa.html),我需要手动更改索引文档以匹配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服务器
因此,您可以使用第三个命令(
rsync
)将文件夹放入s3(这可能是一个s3cmd put
命令)而不需要更改索引文档
部署后,您需要运行ember:deploy:activate--revision test:b2907fa--environment production,它将在s3存储桶中对其进行更改。我通过添加存储桶策略Do not fingerprint index.html文件来解决#2。您不需要更改索引文件名,因为index.html将始终表示您激活的版本或当前版本。资料来源:这是怎么回事?bucket中没有名为index.html的文件..谢谢,但我真的想使用ember deploy来实现这一点。