Option Explicit Dim DeployMachine:DeployMachine = "KCI-APP01" Dim remoteDeployPath:remoteDeployPath = "C:\inetpub\tracking" Dim ScriptDirectory:ScriptDirectory = Replace(WScript.ScriptFullName,WScript.ScriptName,"") Dim DeployRoot:DeployRoot = "F:\Development\Tracking_Kits\CiCd\" '"C:\inetpub\wwwroot\" Dim fso:Set fso = WScript.CreateObject("Scripting.Filesystemobject") Dim WshShell:Set WshShell = WScript.CreateObject("Wscript.Shell") Dim objShell:Set objShell = CreateObject("Shell.Application") Dim transferFolder:transferFolder = "\\KCI-SYN-CL01\PC Transfer\" If fso.FolderExists(DeployRoot & "test") Then WshShell.Run "cmd.exe /c rmdir /s /q """ & DeployRoot & "test""" , 0,True End If CloneRepo ZipRepo Cleanup Deploy Sub Deploy Debug.WriteLine ScriptDirectory & "PsExec64.exe -i \\" & DeployMachine & " -u ntp\daniel_admin -p BarkHornSlam4* cmd.exe /C " & _ "nircmd.exe elevatecmd runassystem C:\Windows\System32\inetsrv\appcmd.exe stop apppool /apppool.name:tracking & " & _ "nircmd.exe elevatecmd runassystem C:\Windows\System32\inetsrv\appcmd.exe stop site /site.name:tracking & " & _ "copy /Y """ & transferFolder & "\zzip.zip"" " & """" & remoteDeployPath & "\zip.zip""" & " & tar -xf ""C:\inetpub\tracking\zip.zip"" -C ""C:\inetpub\tracking"" & exit" WshShell.Run ScriptDirectory & "PsExec64.exe -i \\" & DeployMachine & " -u ntp\daniel_admin -p BarkHornSlam4* cmd.exe /C " & _ "copy /Y """ & transferFolder & "\zzip.zip"" " & """" & remoteDeployPath & "\zip.zip""" & " & tar -xf ""C:\inetpub\tracking\zip.zip"" -C ""C:\inetpub\tracking"" & exit",1,True 'WshShell.Run ScriptDirectory & "PsExec64.exe -i \\" & DeployMachine & " -u ntp\daniel_admin -p BarkHornSlam4* " &_ '"nircmd.exe elevatecmd runassystem C:\Windows\System32\inetsrv\appcmd.exe stop apppool /apppool.name:tracking" '"nircmd.exe elevatecmd runassystem C:\Windows\System32\inetsrv\appcmd.exe stop apppool /apppool.name:tracking & " & _ '"nircmd.exe elevatecmd runassystem C:\Windows\System32\inetsrv\appcmd.exe stop site /site.name:tracking & " & _ '"copy /Y """ & transferFolder & "\zzip.zip"" " & """" & remoteDeployPath & "\zip.zip""" & " & tar -xf ""C:\inetpub\tracking\zip.zip"" -C ""C:\inetpub\tracking"" & exit",1,True End Sub Sub Cleanup WshShell.CurrentDirectory = DeployRoot WshShell.Run "cmd.exe /c rmdir /s /q """ & DeployRoot & "test\""" , 0,True WScript.Sleep 2500 WScript.Sleep 2500 fso.DeleteFile DeployRoot & "\zzip.zip" End Sub Sub ZipRepo WScript.Sleep 2500 WScript.Sleep 2500 fso.OpenTextFile(DeployRoot & "zzip.zip", 2, True).Write "PK" & Chr(5) & Chr(6) _ & String(18, Chr(0)) WScript.Sleep 2500 WScript.Sleep 2500 Dim objZip Set objZip = objShell.NameSpace(DeployRoot & "zzip.zip") Dim objFolder:Set objFolder = objShell.NameSpace(DeployRoot & "test\") objZip.CopyHere objFolder.Items Do Until objZip.Items.Count = objFolder.Items.Count WScript.Sleep 200 Loop fso.CopyFile DeployRoot & "zzip.zip", transferFolder & "zzip.zip", True Set objFolder = nothing End Sub Sub CloneRepo WshShell.Exec("git init test") WScript.Sleep 2500 WshShell.CurrentDirectory = DeployRoot & "test" WshShell.Exec("git remote add -f origin https://dcovington:_3ggUSA6YELP@onefortheroadgit.sytes.net/dcovington/tracking_kits") WshShell.Exec("git config core.sparseCheckout true") Dim objFile Set objFile = fso.CreateTextFile(".git/info/sparse-checkout") objFile.WriteLine("App/") objFile.WriteLine("Data/arrow ne.jpg") objFile.WriteLine("Data/Label_Report.rep") objFile.WriteLine("Data/png-transparent-arrow-arrow-angle-triangle-black-thumbnail.jpg") objFile.WriteLine("Data/purple_envelope_sample_Page_1.jpg") objFile.WriteLine("Data/purple_envelope_sample_Page_2.jpg") objFile.WriteLine("Data/Proofs.rep") objFile.WriteLine("dist/") objFile.WriteLine("MVC/") objFile.WriteLine("Dependancies/") objFile.WriteLine("ImportService/") objFile.WriteLine("index.asp") 'objFile.WriteLine("web.config") WshShell.Exec("git pull origin master") objFile.Close Do until fso.FileExists(DeployRoot & "test\App\app.config.asp") WScript.Sleep 250 Loop Set objFile = fso.OpenTextFile(DeployRoot & "test\App\app.config.asp",1) Dim readConfigFile:readConfigFile = objFile.ReadAll objFile.Close Dim devToFalseSetting:devToFalseSetting = Replace(readConfigFile,"dev = true","dev = false") Set objFile = fso.OpenTextFile(DeployRoot & "test\App\app.config.asp",2) objFile.Write(devToFalseSetting) objFile.Close End Sub '"F:\Development\Tracking_Kits\CiCd\test\App\app.config.asp" 'C:\Windows\System32\inetsrv\appcmd.exe stop apppool /apppool.name:tracking 'C:\Windows\System32\inetsrv\appcmd.exe stop site /site.name:tracking 'C:\Windows\System32\inetsrv\appcmd.exe start apppool /apppool.name:tracking 'C:\Windows\System32\inetsrv\appcmd.exe start site /site.name:tracking 'nircmd.exe elevatecmd runassystem