2015-02-17 86 views
7

我有一个ASPNET mvc项目使用Nuget和Bower的依赖关系。现在我需要在部署时触发bower来安装组件,或者通过允许它们放在我的.gitignore中来包含软件包。当然,我希望不要在回购中包含这些内容,只需在部署时安装它们,就像使用nuget包一样。我试图按照本指南http://gregtrowbridge.com/deploying-a-bower-dependent-node-app-on-windows-azure/,但似乎还没有发生。因此,任何帮助都是欢迎的。将网站部署到Azure与鲍尔依赖关系

问候

+0

你使用git来部署你的网站? – ahmelsayed 2015-02-17 23:25:51

+0

是来自bitbucket的纯粹的git部署 – 2015-02-18 08:01:10

回答

12

所有天青网站的工人有亭子预装,应该是你的路径上。

所有你需要做的就是添加自定义部署脚本,将做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

这是部署逻辑,追加如下的步骤来恢复凉亭中它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 
) 
+0

将不得不验证这一点,因为我已经试过这个。也许我忘了排除.gitignore – 2015-02-19 07:26:39

+0

中的一些bower软件包,尝试部署我链接到的repo,并查看它是否适用于在正确的位置恢复正确的bower组件。如果您导航到https:// .scm.azure网站,则可以轻松浏览网站的内容。净/ DebugConsole'然后看看你的回购有什么不同我猜为什么恢复没有发生 – ahmelsayed 2015-02-19 17:20:49

+1

感谢您的评论。我在外部库中发生错误,并且在一些日志读取和scm调查工作之后。感谢您的提示 – 2015-03-06 21:42:27

0

一个重要的除了上述的后 - 你必须推动两个不变.deployment文件,并修改.cmd文件部署根天青随后复制/执行你的.CMD修订。否则,它将重新生成默认值.cmd

0

您可以使用Azure Web应用程序的控制台功能来触发命令。即使控制台有访问限制功能,您仍然可以通过使用命令安装凉亭的部件:

bower install 

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

Screen 1

先决条件:

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

希望它有帮助。