使用 Bower 依赖项将网站部署到 Azure

Deploy website to azure with bower dependencies

我有一个使用 Nuget 和 Bower 作为依赖项的 ASPNET mvc 项目。现在我需要触发 bower 以在部署时安装组件,或者作为后备通过在我的 .gitignore 中允许它们来包含这些包。当然,我不想将它们包含在回购协议中,只是在部署时安装它们,就像使用 nuget 包一样。我尝试遵循本指南 http://gregtrowbridge.com/deploying-a-bower-dependent-node-app-on-windows-azure/ 但似乎仍然没有任何反应。所以欢迎任何帮助:)

此致

所有 Azure 网站工作人员都预装了 Bower,应该在您的路径中。

您只需添加一个自定义部署脚本即可 bower install Here is a sample repo for an ASP.NET MVC site that uses bower

基本上确保 bower.json 存在并且 referenced in your csproj

    <Content Include="bower.json" />

然后下载您的自定义部署脚本。如果你去 https://<yourSiteName>.scm.azurewebsites.net 然后点击 Tools -> Download custom deployment script 或者从 D:\home\deployment\tools 下载它然后在你的 repo like here 的根目录中检查它基本上会有 2 个文件 deploy.cmd.deployment

这是部署逻辑,在最后一步

之后添加一个恢复bower的步骤like here
:: 4. Bower Install
if EXIST "%DEPLOYMENT_TARGET%\bower.json" (
    pushd "%DEPLOYMENT_TARGET%"
    call :ExecuteCmd bower install
    IF !ERRORLEVEL! NEQ 0 goto error
    popd
)

对上述内容的一个重要补充 - 您必须将未更改的 .deployment 文件和修改后的 .cmd 文件推送到 Azure 的部署根目录,以便随后 copy/execute 您的 .cmd 修改。否则它将重新生成一个默认的 .cmd

您可以使用 Azure 网络应用的 控制台 功能来触发命令。即使控制台可以访问受限功能,您仍然可以使用以下命令安装 bower 组件:

bower install

控制台选项列在 Web 应用程序的部署部分下。您可以参考下面的屏幕。

先决条件:

  1. 不要将 bowerComponents 文件夹发布到 Web 应用程序。
  2. 包括 bower.json 文件,包括所有依赖项。

希望对您有所帮助。