Permalink
Browse files

Update deploy.cmd

  • Loading branch information...
rmmartins committed Jan 9, 2018
1 parent 7dd3b7a commit f0bb57d77d4a410782b526e07913944b4b5602ae
Showing with 89 additions and 60 deletions.
  1. +89 −60 deploy.cmd
View
@@ -1,69 +1,98 @@
@if "%SCM_TRACE_LEVEL%" NEQ "4" @echo off
-REM Put Ruby in Path
-REM You can also use %TEMP% but it is cleared on site restart. Tools is persistent.
-SET PATH=%PATH%;D:\home\site\deployments\tools\r\ruby-2.3.1-x64-mingw32\bin
-
-REM I am in the repository folder
-pushd D:\home\site\deployments
-if not exist tools md tools
-cd tools
-if not exist r md r
-cd r
-if exist ruby-2.3.1-x64-mingw32 goto end
-
-echo No Ruby, need to get it!
-
-REM Get Ruby and Rails
-REM 64bit
-curl -o ruby231.zip -L https://bintray.com/artifact/download/oneclick/rubyinstaller/ruby-2.3.1-x64-mingw32.7z?direct
-REM Azure puts 7zip here!
-echo START Unzipping Ruby
-SetLocal DisableDelayedExpansion & d:\7zip\7za x -xr!*.ri -y ruby231.zip > rubyout
-echo DONE Unzipping Ruby
-
-REM Get DevKit to build Ruby native gems
-REM If you don't need DevKit, rem this out.
-curl -o DevKit.zip http://cdn.rubyinstaller.org/archives/devkits/DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe
-echo START Unzipping DevKit
-d:\7zip\7za x -y -oDevKit DevKit.zip > devkitout
-echo DONE Unzipping DevKit
-
-REM Init DevKit
-ruby DevKit\dk.rb init
-
-REM Tell DevKit where Ruby is
-echo --- > config.yml
-echo - D:/home/site/deployments/tools/r/ruby-2.3.1-x64-mingw32 >> config.yml
-
-REM Setup DevKit
-ruby DevKit\dk.rb install
-
-REM Update until someone fixes the Ruby Windows installer http://www.oddjack.com/?certs=oneclick/rubyinstaller/issues/261
-curl -L -o update.gem https://rubygems.org/gems/rubygems-update-2.6.8.gem
-call gem install --local update.gem
-call update_rubygems --no-ri --no-rdoc > updaterubygemsout
-ECHO What's our new Rubygems version?
-call gem --version
-call gem uninstall rubygems-update -x
-
-popd
+:: ----------------------
+:: KUDU Deployment Script
+:: Version: 1.0.6
+:: ----------------------
-:end
+:: Prerequisites
+:: -------------
+
+:: Verify node.js installed
+where node 2>nul >nul
+IF %ERRORLEVEL% NEQ 0 (
+ echo Missing node.js executable, please install node.js, if already installed make sure it can be reached from current environment.
+ goto error
+)
+
+:: Setup
+:: -----
+
+setlocal enabledelayedexpansion
+
+SET ARTIFACTS=%~dp0%..\artifacts
+
+IF NOT DEFINED DEPLOYMENT_SOURCE (
+ SET DEPLOYMENT_SOURCE=%~dp0%.
+)
+
+IF NOT DEFINED DEPLOYMENT_TARGET (
+ SET DEPLOYMENT_TARGET=%ARTIFACTS%\wwwroot
+)
+
+IF NOT DEFINED NEXT_MANIFEST_PATH (
+ SET NEXT_MANIFEST_PATH=%ARTIFACTS%\manifest
+
+ IF NOT DEFINED PREVIOUS_MANIFEST_PATH (
+ SET PREVIOUS_MANIFEST_PATH=%ARTIFACTS%\manifest
+ )
+)
+
+IF NOT DEFINED KUDU_SYNC_CMD (
+ :: Install kudu sync
+ echo Installing Kudu Sync
+ call npm install kudusync -g --silent
+ IF !ERRORLEVEL! NEQ 0 goto error
-REM Need to be in Reposistory
-cd %DEPLOYMENT_SOURCE%
-cd
+ :: Locally just running "kuduSync" would also work
+ SET KUDU_SYNC_CMD=%appdata%\npm\kuduSync.cmd
+)
+ECHO CALLING GET RUBY
-call gem install bundler --no-ri --no-rdoc
+call :ExecuteCmd "getruby.cmd"
-ECHO Bundler install (not update!)
-call bundle install
+ECHO WE MADE IT
-cd %DEPLOYMENT_SOURCE%
-cd
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:: Deployment
+:: ----------
-ECHO Running Jekyll
-call bundle exec jekyll build
+echo Handling Basic Web Site deployment.
-REM KuduSync is after this!
+:: 1. KuduSync
+IF /I "%IN_PLACE_DEPLOYMENT%" NEQ "1" (
+ call :ExecuteCmd "%KUDU_SYNC_CMD%" -v 50 -f "%DEPLOYMENT_SOURCE%/_site" -t "%DEPLOYMENT_TARGET%" -n "%NEXT_MANIFEST_PATH%" -p "%PREVIOUS_MANIFEST_PATH%" -i ".git;.hg;.deployment;deploy.cmd"
+ IF !ERRORLEVEL! NEQ 0 goto error
+)
+
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+
+:: Post deployment stub
+IF DEFINED POST_DEPLOYMENT_ACTION call "%POST_DEPLOYMENT_ACTION%"
+IF !ERRORLEVEL! NEQ 0 goto error
+
+goto end
+
+:: Execute command routine that will echo out when error
+:ExecuteCmd
+setlocal
+set _CMD_=%*
+call %_CMD_%
+if "%ERRORLEVEL%" NEQ "0" echo Failed exitCode=%ERRORLEVEL%, command=%_CMD_%
+exit /b %ERRORLEVEL%
+
+:error
+endlocal
+echo An error has occurred during web site deployment.
+call :exitSetErrorLevel
+call :exitFromFunction 2>nul
+
+:exitSetErrorLevel
+exit /b 1
+
+:exitFromFunction
+()
+
+:end
+endlocal
+echo Finished successfully.

0 comments on commit f0bb57d

Please sign in to comment.