Files
powershell-scripts/EgtDeploy/OldVersions/EgtBeamWallTest_OldSelector.ps1
T
marco.locatelli@steamware.net 7f87236961 Accorpamento Progetti Powershell Script
2024-02-21 11:23:47 +01:00

155 lines
5.0 KiB
PowerShell

# Esegue setup di BeamWall da repo Artifacts
Write-Output ""
Write-Output "---------------------------------"
Write-Output "| EgtBEAMWALL Last Release Test |"
Write-Output "---------------------------------"
Write-Output ""
#inizializzo variabili vuote
$SelBranch = ""
$SelArch = ""
$ChosenBit = ""
$ChosenDll = ""
$ChosenDllD = ""
#Definisco path truenas di origine
$Artifacts = '\\truenas\Artifacts'
$BWSourceFolder = '\\truenas\Artifacts\EgtProg\EgtBEAMWALL'
#Definisco path test sottocartelle EgtBEAMWALL
$TestProgBWFolder = 'c:\EgtTestProg\EgtBEAMWALL'
$TestDataBWFolder = 'c:\EgtTestData\EgtBEAMWALL'
#Cerco le cartelle dei branch in \\truenas\Artifacts\EgtProg\EgtBEAMWALL
Write-Output ""
$BranchSelection = $false
$Branches = Get-ChildItem -Path $BWSourceFolder -Directory
$BranchCount = $Branches.Count
#Chiedo all'utente che branch desidera installare
do{
$idx = 1
Write-Output "-----------------------------"
foreach($item in $Branches)
{
Write-Output("$idx - $item")
$idx++
}
Write-Output "-----------------------------"
Write-Output ""
Write-Output ""
$SelBranch = @(Get-ChildItem $BWSourceFolder -Directory | Out-GridView -Title 'Scegli il branch EgtBeamWall da testare' -PassThru)
$BranchSelection = ($numSel -le $BranchCount)
} while(!$BranchSelection)
#Chiedo all'utente che architettura desidera installare
Write-Output ""
$ArchSelection = $false
$Architectures = 'x86','x64'
$ArchCount = $Architectures.Count
do{
$idx = 1
Write-Output "-----------------------------"
foreach($item in $Architectures)
{
Write-Output("$idx - $item")
$idx++
}
Write-Output "-----------------------------"
Write-Output ""
Write-Output ""
$SelArch = @($Architectures | Out-GridView -Title 'Scegli architettura EgtBeamWall da testare' -PassThru)
$ArchSelection = ($numSel -le $ArchCount)
Write-Output $SelArch
} while(!$ArchSelection)
#Switch fra 32 bit o 64 bit in base alla richiesta dell'utente
if($SelArch -eq 'x86'){
$ChosenBit = '32'
$ChosenDll = 'Dll32'
$ChosenDllD = 'DllD32'
}
else {
$ChosenBit = '64'
$ChosenDll = 'Dll64'
$ChosenDllD = 'DllD64'
}
#Pulisco cartella EgtTestProg\EgtBEAMWALL se già esistente, poi la creo
if (Test-Path -Path $TestProgBWFolder) {
"Prog esiste!"
Remove-Item -Recurse $TestProgBWFolder\*.*
} else {
new-item $TestProgBWFolder -itemtype directory
}
#Pulisco cartella EgtTestData\EgtBEAMWALL se già esistente, poi la creo
if (Test-Path -Path $TestDataBWFolder) {
"Data esiste!"
Remove-Item -Recurse $TestDataBWFolder\*.*
} else {
new-item $TestDataBWFolder -itemtype directory
}
#Pulisco cartella EgtTestData\EgtBEAMWALL\Temp se già esistente, poi la creo
if (Test-Path -Path $TestDataBWFolder\Temp) {
"Temp esiste!"
Remove-Item -Recurse $TestDataBWFolder\Temp\*.*
} else {
new-item $TestDataBWFolder\Temp -itemtype directory
}
#Pulisco cartella EgtTestData\EgtBEAMWALL\Macro se già esistente, poi la creo
if (Test-Path -Path $TestDataBWFolder\Macro) {
"Macro esiste!"
Remove-Item -Recurse $TestDataBWFolder\Macro\*.*
} else {
new-item $TestDataBWFolder\Macro -itemtype directory
}
#Pulisco cartella EgtTestData\EgtBEAMWALL\Config se già esistente, poi la creo
if (Test-Path -Path $TestDataBWFolder\Config) {
"Config esiste!"
Remove-Item -Recurse $TestDataBWFolder\Config\*.*
} else {
new-item $TestDataBWFolder\Config -itemtype directory
}
#Copio la cartella Config
ROBOCOPY /E $Artifacts\EgtProg\EgtBEAMWALL_Config\Config\ $TestDataBWFolder\Config
#Copio la cartella Messages
ROBOCOPY /E $Artifacts\EGT_SRV\EgtTech\EgtData\Messages $TestDataBWFolder\Config
#Copio la cartella Fonts
ROBOCOPY /E $Artifacts\EGT_SRV\EgtTech\EgtProg\Fonts\ $TestDataBWFolder\Fonts
#Copio DataRoot.ini custom in c:\EgtTestProg\EgtBEAMWALL
ROBOCOPY /E $Artifacts\EgtProg\EgtBEAMWALL_Config\ $TestProgBWFolder DataRoot.ini
#Copio il file Medium.ini in \Warehouse
ROBOCOPY /E $Artifacts\EGT_SRV\EgtTech\EgtData\EgtBEAMWALL\Warehouse\ $TestDataBWFolder\Warehouse Medium.ini
#Copio Resources
ROBOCOPY /E $Artifacts\EGT_SRV\EgtTech\EgtData\EgtBEAMWALL\Resources\ $TestDataBWFolder\Resources
#Copio la sottocartella 32 o 64 bit di Lualibs a seconda della richiesta
ROBOCOPY /E $Artifacts\EGT_SRV\EgtTech\EgtProg\LuaLibs\$ChosenBit $TestDataBWFolder\Lualibs
#Copio la cartella Dll32 o Dll64 a seconda della richiesta
ROBOCOPY /E $Artifacts\EGT_SRV\EgtTech\EgtProg\$ChosenDll $TestProgBWFolder
#Copio la cartella DllD32 o DllD64 a seconda della richiesta
ROBOCOPY /E $Artifacts\EGT_SRV\EgtTech\EgtProg\$ChosenDllD $TestProgBWFolder
#Copio Versione + Architettura di BEAMWALL richieste
ROBOCOPY /E $Artifacts\EgtProg\EgtBEAMWALL\$SelBranch\$SelArch $TestProgBWFolder
#Cancello tutti i .exe.config e .dll.config perchè problematici in area Test
Remove-Item -Recurse $TestProgBWFolder\*.exe.config
Remove-Item -Recurse $TestProgBWFolder\*.dll.config
#Chiudo lanciando lo Script Manager per altre operazioni
Powershell.exe -executionpolicy remotesigned -File .\EgtScriptsManager.ps1