mirror of https://github.com/Radarr/Radarr
190 lines
10 KiB
Batchfile
190 lines
10 KiB
Batchfile
@rem ---------------------------------------------------------------------------------
|
|
@rem Copyright 2008 Microsoft Corporation. All rights reserved.
|
|
@rem This is provided as sample to deploy the package using msdeploy.exe
|
|
@rem For information about IIS Web Deploy technology,
|
|
@rem please visit http://go.microsoft.com/?linkid=9278654
|
|
@rem Note: This batch file assumes the package and setparametsrs.xml are in the same folder with this file
|
|
@rem ---------------------------------------------------------------------------------
|
|
@if %_echo%!==! echo off
|
|
setlocal
|
|
@rem ---------------------------------------------------------------------------------
|
|
@rem Please Make sure you have Web Deploy install in your machine.
|
|
@rem Alternatively, you can explicit set the MsDeployPath to the location it is on your machine
|
|
@rem set MSDeployPath="C:\Program Files (x86)\IIS\Microsoft Web Deploy\"
|
|
@rem ---------------------------------------------------------------------------------
|
|
|
|
@rem ---------------------------------------------------------------------------------
|
|
@rem if user does not set MsDeployPath environment variable, we will try to retrieve it from registry.
|
|
@rem ---------------------------------------------------------------------------------
|
|
if "%MSDeployPath%" == "" (
|
|
for /F "usebackq tokens=2*" %%i in (`reg query "HKLM\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\1" /v InstallPath`) do (
|
|
if "%%~dpj" == "%%j" (
|
|
set MSDeployPath=%%j
|
|
)))
|
|
|
|
if not exist "%MSDeployPath%\msdeploy.exe" (
|
|
echo. msdeploy.exe is not found on this machine. Please install Web Deploy before execute the script.
|
|
echo. Please visit http://go.microsoft.com/?linkid=9278654
|
|
goto :usage
|
|
)
|
|
|
|
set RootPath=%~dp0
|
|
if /I "%_DeploySetParametersFile%" == "" (
|
|
set _DeploySetParametersFile=%RootPath%NzbDrone.Web.SetParameters.xml
|
|
)
|
|
|
|
set _ArgTestDeploy=
|
|
set _ArgDestinationType=auto
|
|
set _ArgComputerName=
|
|
set _ArgUserName=
|
|
set _ArgPassword=
|
|
set _ArgEncryptPassword=
|
|
set _ArgIncludeAcls=False
|
|
set _ArgAuthType=
|
|
set _ArgtempAgent=
|
|
|
|
@rem ---------------------------------------------------------------------------------
|
|
@rem Simple Parse the arguments
|
|
@rem ---------------------------------------------------------------------------------
|
|
:NextArgument
|
|
set _ArgCurrent=%~1
|
|
|
|
if /I "%_ArgCurrent%" == "" goto :GetStarted
|
|
if /I "%_ArgCurrent%" == "/T" set _ArgTestDeploy=true&goto :ArgumentOK
|
|
if /I "%_ArgCurrent%" == "/Y" set _ArgTestDeploy=false&goto :ArgumentOK
|
|
|
|
set _ArgFlag=%_ArgCurrent:~0,3%
|
|
set _ArgValue=%_ArgCurrent:~3%
|
|
|
|
if /I "%_ArgFlag%" == "/M:" set _ArgComputerName=%_ArgValue%&goto :ArgumentOK
|
|
if /I "%_ArgFlag%" == "/U:" set _ArgUserName=%_ArgValue%&goto :ArgumentOK
|
|
if /I "%_ArgFlag%" == "/P:" set _ArgPassword=%_ArgValue%&goto :ArgumentOK
|
|
if /I "%_ArgFlag%" == "/E:" set _ArgEncryptPassword=%_ArgValue%&goto :ArgumentOK
|
|
if /I "%_ArgFlag%" == "/I:" set _ArgIncludeAcls=%_ArgValue%&goto :ArgumentOK
|
|
if /I "%_ArgFlag%" == "/A:" set _ArgAuthType=%_ArgValue%&goto :ArgumentOK
|
|
if /I "%_ArgFlag%" == "/G:" set _ArgtempAgent=%_ArgValue%&goto :ArgumentOK
|
|
|
|
@rem Any addition flags, pass through to the msdeploy
|
|
set _ArgMsDeployAdditionalFlags=%_ArgMsDeployAdditionalFlags% %_ArgCurrent%
|
|
|
|
:ArgumentOK
|
|
shift
|
|
goto :NextArgument
|
|
|
|
:GetStarted
|
|
if /I "%_ArgTestDeploy%" == "" goto :usage
|
|
if /I "%_ArgDestinationType%" == "" goto :usage
|
|
|
|
set _Destination=%_ArgDestinationType%
|
|
if not "%_ArgComputerName%" == "" set _Destination=%_Destination%,computerName='%_ArgComputerName%'
|
|
if not "%_ArgUserName%" == "" set _Destination=%_Destination%,userName='%_ArgUserName%'
|
|
if not "%_ArgPassword%" == "" set _Destination=%_Destination%,password='%_ArgPassword%'
|
|
if not "%_ArgAuthType%" == "" set _Destination=%_Destination%,authtype='%_ArgAuthType%'
|
|
if not "%_ArgEncryptPassword%" == "" set _Destination=%_Destination%,encryptPassword='%_ArgEncryptPassword%'
|
|
if not "%_ArgIncludeAcls%" == "" set _Destination=%_Destination%,includeAcls='%_ArgIncludeAcls%'
|
|
if not "%_ArgtempAgent%" == "" set _Destination=%_Destination%,tempAgent='%_ArgtempAgent%'
|
|
|
|
@rem ---------------------------------------------------------------------------------
|
|
@rem add -whatif when -T is specified
|
|
@rem ---------------------------------------------------------------------------------
|
|
if /I "%_ArgTestDeploy%" NEQ "false" (
|
|
set _MsDeployAdditionalFlags=%_MsDeployAdditionalFlags% -whatif
|
|
)
|
|
|
|
@rem ---------------------------------------------------------------------------------
|
|
@rem pass through the addition msdeploy.exe Flags
|
|
@rem ---------------------------------------------------------------------------------
|
|
set _MsDeployAdditionalFlags=%_MsDeployAdditionalFlags% %_ArgMsDeployAdditionalFlags%
|
|
|
|
@rem ---------------------------------------------------------------------------------
|
|
@rem check the existence of the package file
|
|
@rem ---------------------------------------------------------------------------------
|
|
if not exist "%RootPath%NzbDrone.Web.zip" (
|
|
echo "%RootPath%NzbDrone.Web.zip" does not exist.
|
|
echo This batch file relies on this deploy source file^(s^) in the same folder.
|
|
goto :usage
|
|
)
|
|
|
|
@rem ---------------------------------------------------------------------------------
|
|
@rem Execute msdeploy.exe command line
|
|
@rem ---------------------------------------------------------------------------------
|
|
call :CheckParameterFile
|
|
echo. Start executing msdeploy.exe
|
|
echo -------------------------------------------------------
|
|
if not exist "%_DeploySetParametersFile%" (
|
|
echo. "%MSDeployPath%\msdeploy.exe" -source:package='%RootPath%NzbDrone.Web.zip' -dest:%_Destination% -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -skip:objectname='dirPath',absolutepath='obj\\Debug\\Package\\PackageTmp\\App_Data$' %_MsDeployAdditionalFlags%
|
|
"%MSDeployPath%\msdeploy.exe" -source:package='%RootPath%NzbDrone.Web.zip' -dest:%_Destination% -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -skip:objectname='dirPath',absolutepath='obj\\Debug\\Package\\PackageTmp\\App_Data$' %_MsDeployAdditionalFlags%
|
|
) else (
|
|
echo. "%MSDeployPath%\msdeploy.exe" -source:package='%RootPath%NzbDrone.Web.zip' -dest:%_Destination% -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -skip:objectname='dirPath',absolutepath='obj\\Debug\\Package\\PackageTmp\\App_Data$' -setParamFile:"%RootPath%NzbDrone.Web.SetParameters.xml" %_MsDeployAdditionalFlags%
|
|
"%MSDeployPath%\msdeploy.exe" -source:package='%RootPath%NzbDrone.Web.zip' -dest:%_Destination% -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -skip:objectname='dirPath',absolutepath='obj\\Debug\\Package\\PackageTmp\\App_Data$' -setParamFile:"%RootPath%NzbDrone.Web.SetParameters.xml" %_MsDeployAdditionalFlags%
|
|
)
|
|
goto :eof
|
|
|
|
@rem ---------------------------------------------------------------------------------
|
|
@rem CheckParameterFile -- check if the package's setparamters.xml exists or not
|
|
@rem ---------------------------------------------------------------------------------
|
|
:CheckParameterFile
|
|
echo =========================================================
|
|
if exist "%_DeploySetParametersFile%" (
|
|
echo SetParameters from:
|
|
echo "%_DeploySetParametersFile%"
|
|
echo You can change IIS Application Name, Physical path, connectionString
|
|
echo or other deploy parameters in the above file.
|
|
) else (
|
|
echo SetParamterFiles does not exist in package location.
|
|
echo Use package embedded defaultValue to deploy.
|
|
)
|
|
echo -------------------------------------------------------
|
|
goto :eof
|
|
|
|
@rem ---------------------------------------------------------------------------------
|
|
@rem Usage
|
|
@rem ---------------------------------------------------------------------------------
|
|
:usage
|
|
echo =========================================================
|
|
if not exist "%RootPath%NzbDrone.Web.deploy-readme.txt" (
|
|
echo Usage:%~nx0 [/T^|/Y] [/M:ComputerName] [/U:userName] [/P:password] [/G:tempAgent] [additional msdeploy flags ...]
|
|
echo Required flags:
|
|
echo /T Calls msdeploy.exe with the "-whatif" flag, which simulates deployment.
|
|
echo /Y Calls msdeploy.exe without the "-whatif" flag, which deploys the package to the current machine or destination server
|
|
echo Optional flags:
|
|
echo. By Default, this script deploy to the current machine where this script is invoked which will use current user credential without tempAgent.
|
|
echo. Only pass these arguments when in advance scenario.
|
|
echo /M: Msdeploy destination name of remote computer or proxy-URL. Default is local.
|
|
echo /U: Msdeploy destination user name.
|
|
echo /P: Msdeploy destination password.
|
|
echo /G: Msdeploy destination tempAgent. True or False. Default is false.
|
|
echo.[additional msdeploy flags]: note: " is required for passing = through command line.
|
|
echo "-skip:objectName=setAcl" "-skip:objectName=dbFullSql"
|
|
echo.Alternative environment variable _MsDeployAdditionalFlags is also honored.
|
|
echo.
|
|
echo. Please make sure MSDeploy is installed in the box http://go.microsoft.com/?linkid=9278654
|
|
echo.
|
|
echo In addition, you can change IIS Application Name, Physical path,
|
|
echo connectionString and other deploy parameters in the following file:
|
|
echo "%_DeploySetParametersFile%"
|
|
echo.
|
|
echo For more information about this batch file, visit http://go.microsoft.com/fwlink/?LinkID=183544
|
|
) else (
|
|
start notepad "%RootPath%NzbDrone.Web.deploy-readme.txt"
|
|
)
|
|
echo =========================================================
|
|
goto :eof
|
|
|
|
@rem ---------------------------------------------------------------------------------
|
|
@rem CheckParameterFile -- check if the package's setparamters.xml exists or not
|
|
@rem ---------------------------------------------------------------------------------
|
|
:CheckParameterFile
|
|
echo =========================================================
|
|
if exist "%RootPath%NzbDrone.Web.SetParameters.xml" (
|
|
echo SetParameters from:
|
|
echo "%RootPath%NzbDrone.Web.SetParameters.xml"
|
|
echo You can change IIS Application Name, Physical path, connectionString
|
|
echo or other deploy parameters in the above file.
|
|
) else (
|
|
echo SetParamterFiles does not exist in package location.
|
|
echo Use package embedded defaultValue to deploy.
|
|
)
|
|
echo -------------------------------------------------------
|
|
goto :eof
|