Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Deploy website to azure with bower dependencies

I have an ASPNET mvc project using both Nuget and Bower for dependencies. Now I need to either trigger bower to install components upon deployment or as fallback include the packages by allowing them in my .gitignore. Of course I would like to not include those in the repo and just have them installed while deploying, just like with nuget packages. I tried to follow this guide http://gregtrowbridge.com/deploying-a-bower-dependent-node-app-on-windows-azure/ but still nothing seems to happen. So any help is welcome :)

Best regards

like image 841
Rasmus Christensen Avatar asked Feb 17 '15 21:02

Rasmus Christensen


2 Answers

You can use the console feature of Azure web app to fire the commands. Even if the console has access to a restricted features, you can still install the bower components by using the command:

bower install

The console option is listed under the deployment section of the Web Apps. You can refer the below the screen for reference.

Screen 1

Prerequisites:

  1. Do not publish the bowerComponents folder to the Web app.
  2. Include the bower.json file including all the dependencies.

Hope it helps.

like image 94
Surabh Shah Avatar answered Oct 23 '22 10:10

Surabh Shah


All of Azure Websites workers have bower pre-installed and should be on your path.

All you need to do is add a custom deployment script that would do bower install Here is a sample repo for an ASP.NET MVC site that uses bower

Basically make sure bower.json is there and referenced in your csproj

    <Content Include="bower.json" />

Then download your custom deployment script. if you go to https://<yourSiteName>.scm.azurewebsites.net then click on Tools -> Download custom deployment script or just download it from D:\home\deployment\tools then check it in the root of your repo like here basically there will be 2 files deploy.cmd and .deployment

this is the deployment logic, add a step to restore bower in it like here after the last step there

:: 4. Bower Install
if EXIST "%DEPLOYMENT_TARGET%\bower.json" (
    pushd "%DEPLOYMENT_TARGET%"
    call :ExecuteCmd bower install
    IF !ERRORLEVEL! NEQ 0 goto error
    popd
)
like image 23
ahmelsayed Avatar answered Oct 23 '22 10:10

ahmelsayed