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

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-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来实现这一点。