Imports Microsoft.VisualBasic.FileIO.FileSystem
Imports System.IO
Module lancioCdCliente
Sub Main()
' passo 1 creazione cartella versione su repository thecus
Dim parametriIngresso() As String = System.Environment.GetCommandLineArgs
' parametro 1 --> percorso cartella (esempio "\\ULISSE\CD_CLIENTI")
' parametro 2 --> versione (esempio "9-08-02")
' parametro 3 --> percorso file da leggere per creare il CD (esempio G:\9-08-00inprog\creazioneCD)
' parametro 4 --> percorso dove si trova il sorgente per greare il cd (esempio G:)
' parametro 5 --> 1 solo un cliente esplicitato, 2 lista clienti, 3 tutti
' parametro 6 --> lista clienti separata da "," oppure cliente singolo
' parametro 7 --> creazione zip fix di DB 1 = si altrimenti no
' parametro 8 --> dove si trova il modello del CD (partizione)
Console.WriteLine(Now)
Console.WriteLine()
'Console.ReadLine()
'C:\configurazione\ContinuousIntegration\CD
Dim percorsoCartellaCopia As String = parametriIngresso(1) '"\\ULISSE\CD_CLIENTI"
Dim Versione As String = parametriIngresso(2) '"9-08-02"
Dim spercorsoFile As String = parametriIngresso(3) '"N:\9-08-02in_prog\creazioneCD"
Dim s_partizioneSorgente As String = parametriIngresso(4) '"N:"
Dim cartellaClienti As String = ""
Dim creazioneCartella As String
creazioneCartella = percorsoCartellaCopia
"\" Versione
Dim i_hosting As Integer = 0
Dim iperswar As Integer = 1
Dim itipolancio As Integer = 3
itipolancio = CInt(parametriIngresso(5)) '1
Dim s_parametroCliente As String = ""
s_parametroCliente = parametriIngresso(6) '"UNIMORE"
Dim s_pathFileBin As String = ""
Dim s_pathFileJboss As String = ""
Dim s_pathFileClientiJboss As String = ""
Dim s_pathFileFixDb As String = ""
Dim s_drive As String = parametriIngresso(8)
If DirectoryExists(creazioneCartella) Then
Console.WriteLine("la cartella " & creazioneCartella & " gia esiste")
Else
MkDir(creazioneCartella)
Console.WriteLine("la cartella " & creazioneCartella & " e' stata creata")
End If
Dim i_creazioneFixDb As Integer = 1
i_creazioneFixDb = CInt(parametriIngresso(7)) '1
Dim i As Integer
Dim k As Integer
Dim arrayClienti As ArrayList
arrayClienti = New ArrayList
Dim arrayElementiFileBin As ArrayList
arrayElementiFileBin = New ArrayList
Dim arrayElementifileJboss As ArrayList
arrayElementifileJboss = New ArrayList
Dim arrayElementifileFixDB As ArrayList
arrayElementifileFixDB = New ArrayList
Dim arrayElementifileClientiJB As ArrayList
arrayElementifileClientiJB = New ArrayList
spathFileClientiJboss = spercorsoFile + "\fileClientiJboss.txt" '"N:\9-08-00inprog\creazioneCD\fileClientiJboss.txt"
letturaFile.leggifile(arrayElementifileClientiJB, s_pathFileClientiJboss)
Dim numeroClientiJboss As Integer
numeroClientiJboss = arrayElementifileClientiJB.Count
'#######################################################################
'## ##
'## UN SOLO CLIENTE ##
'## ##
'#######################################################################
If itipolancio = 1 Then
cartellaClienti = creazioneCartella "\"
s_parametroCliente.ToUpper "\" Versione
CollegamentoDB.ConnDBClienti(ihosting, sparametroCliente.ToUpper, iperswar)
spathFileBin = spercorsoFile + "\fileBinCD.txt" '"N:\9-08-00inprog\creazioneCD\fileBinCD.txt"
spathFileJboss = spercorsoFile + "\fileJbossCD.txt" '"N:\9-08-00inprog\creazioneCD\fileJbossCD.txt"
letturaFile.leggifile(arrayElementiFileBin, s_pathFileBin)
letturaFile.leggifile(arrayElementifileJboss, s_pathFileJboss)
Dim s_copiaClientDestinazione As String = ""
Dim s_copiaBinDestinazione As String = ""
Dim s_copiaBEDestinazione As String = ""
Dim s_copiaJbossDestinazione As String = ""
Dim s_pathFileFixDbDestinazione As String = ""
If ihosting = 0 Or sparametroCliente.ToLower = "uninsubria" Then
' non in hosting struttura modello non divisa in BE e CLIENT
StrutturaCD.CopiaModelloCdNonHosting(cartellaClienti, s_drive)
scopiaClientDestinazione = percorsoCartellaCopia
"\" Versione "\" sparametroCliente
"\" Versione + "\Client\STEPSETUPCLIENT\client"
scopiaBinDestinazione = percorsoCartellaCopia
"\" Versione "\" sparametroCliente
"\" Versione + "\Eas\STEPUPGRADEBIN\bin"
scopiaBEDestinazione = percorsoCartellaCopia
"\" Versione "\" sparametroCliente
"\" Versione
scopiaJbossDestinazione = percorsoCartellaCopia
"\" Versione "\" sparametroCliente
"\" Versione + "\Jboss"
spathFileFixDbDestinazione = percorsoCartellaCopia
"\" Versione "\" sparametroCliente
"\" Versione + "\DB\FixDb"
Else
'codice di divisione della cartella
StrutturaCD.CopiaModelloCdHosting(cartellaClienti, sdrive, sparametroCliente.ToUpper)
scopiaClientDestinazione = percorsoCartellaCopia
"\" Versione "\" sparametroCliente
"\" Versione + "Client\Client\STEPSETUP_CLIENT\client"
scopiaBinDestinazione = percorsoCartellaCopia
"\" Versione "\" sparametroCliente
"\" Versione + "backend\Eas\STEPUPGRADE_BIN\bin"
scopiaBEDestinazione = percorsoCartellaCopia
"\" Versione "\" sparametroCliente
"\" Versione + "_backend"
scopiaJbossDestinazione = percorsoCartellaCopia
"\" Versione "\" sparametroCliente
"\" Versione + "_backend\Jboss"
spathFileFixDbDestinazione = percorsoCartellaCopia
"\" Versione "\" sparametroCliente
"\" Versione + "_backend\DB\FixEsse3"
End If
'copia della parte client del cliente
Dim s_copiaClientSorgente As String = ""
scopiaClientSorgente = spartizioneSorgente
"\" Versione + "inprog" '"N:\9-08-02inprog"
Dim s_copiaBinSorgente As String = ""
scopiaBinSorgente = spartizioneSorgente
"\" Versione "inprog"
"\bin"
Dim s_copiaJbossSorgente As String = ""
scopiaJbossSorgente = spartizioneSorgente
"\" Versione + "inprog"
'Parte client OK
CreazioneZipClient.zipClient(scopiaClientSorgente, scopiaClientDestinazione, s_parametroCliente)
'Parte bin OK
ModuloBin.zipBin(arrayElementiFileBin, sparametroCliente, scopiaBinSorgente, s_copiaBinDestinazione, Versione)
'Parte war OK
ModuloWeb.copiaWar(Versione, sparametroCliente, ihosting, percorsoCartellaCopia, iperswar)
'Parte java OK
ModuloBEJava.CopiaE4(Versione, scopiaBEDestinazione, spartizioneSorgente)
ModuloBEJava.CopiaPBjar(Versione, scopiaBEDestinazione, spartizioneSorgente)
ModuloBEJava.CopiaProfiliLog(Versione, scopiaBEDestinazione, spartizioneSorgente)
ModuloBEJava.CreaFilepuntoEsse3(Versione, s_copiaBEDestinazione)
'Parte Jboss
For k = 0 To numeroClientiJboss - 1
If CStr(arrayElementifileClientiJB.Item(k)).ToLower = s_parametroCliente.ToLower Then
ModuloJboss.jBosszip(arrayElementifileJboss, Versione, scopiaJbossSorgente, scopiaJbossDestinazione, s_parametroCliente)
End If
Next
If i_creazioneFixDb = 1 Then
Dim s_pathFileFixDbSorgente As String = ""
s_pathFileFixDbSorgente = "\\ulisse\source\DB\FIX"
spathFileFixDb = spercorsoFile + "\fileFixDB.txt" '"N:\9-08-00inprog\creazioneCD\fileClientiJboss.txt"
letturaFile.leggifile(arrayElementifileFixDB, s_pathFileFixDb)
FixDB.zipFixDB(arrayElementifileFixDB, spathFileFixDbSorgente, spathFileFixDbDestinazione)
End If
End If
'#######################################################################
'## ##
'## LISTA CLIENTI ##
'## ##
'#######################################################################
If itipolancio = 2 Then
Dim clienti() As String
clienti = Split(s_parametroCliente, CChar(","))
Dim n As Integer = 0
For n = 0 To UBound(clienti)
cartellaClienti = creazioneCartella "\"
CStr(clienti(n)) "\" Versione
'A) controllo se il cliente è in hosting
CollegamentoDB.ConnDBClienti(ihosting, CStr(clienti(n)), ipers_war)
spathFileBin = spercorsoFile + "\fileBinCD.txt" '"N:\9-08-00inprog\creazioneCD\fileBinCD.txt"
spathFileJboss = spercorsoFile + "\fileJbossCD.txt" '"N:\9-08-00inprog\creazioneCD\fileJbossCD.txt"
letturaFile.leggifile(arrayElementiFileBin, s_pathFileBin)
letturaFile.leggifile(arrayElementifileJboss, s_pathFileJboss)
Dim s_copiaClientDestinazione As String = ""
Dim s_copiaBinDestinazione As String = ""
Dim s_copiaBEDestinazione As String = ""
Dim s_copiaJbossDestinazione As String = ""
Dim s_pathFileFixDbDestinazione As String = ""
If i_hosting = 0 Or CStr(clienti(n)).ToLower = "uninsubria" Then
' non in hosting struttura modello non divisa in BE e CLIENT
StrutturaCD.CopiaModelloCdNonHosting(cartellaClienti, s_drive)
scopiaClientDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(clienti(n))
"\" Versione + "\Client\STEPSETUP_CLIENT\client"
scopiaBinDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(clienti(n))
"\" Versione + "\Eas\STEPUPGRADE_BIN\bin"
s_copiaBEDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(clienti(n))
"\" Versione
s_copiaJbossDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(clienti(n))
"\" Versione + "\Jboss"
s_pathFileFixDbDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(clienti(n))
"\" Versione + "\DB\DB\FixEsse3"
Else
'codice di divisione della cartella
StrutturaCD.CopiaModelloCdHosting(cartellaClienti, sdrive, sparametroCliente.ToUpper)
If s_parametroCliente.ToUpper <> "UNIMORE" Then
scopiaClientDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(clienti(n))
"\" Versione + "Client\STEPSETUPCLIENT\client"
Else
scopiaClientDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(clienti(n))
"\" Versione + "Client\client"
End If
scopiaBinDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(clienti(n))
"\" Versione + "backend\Eas\STEPUPGRADEBIN\bin"
scopiaBEDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(clienti(n))
"\" Versione + "backend"
scopiaJbossDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(clienti(n))
"\" Versione + "backend\Jboss"
spathFileFixDbDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(clienti(n))
"\" Versione + "backend\DB\FixEsse3"
End If
Dim s_copiaClientSorgente As String = ""
scopiaClientSorgente = spartizioneSorgente
"\" Versione + "inprog" '"N:\9-08-02inprog"
Dim s_copiaBinSorgente As String = ""
scopiaBinSorgente = spartizioneSorgente
"\" Versione "inprog"
"\bin"
Dim s_copiaJbossSorgente As String = ""
scopiaJbossSorgente = spartizioneSorgente
"\" Versione + "inprog"
'Parte client OK
CreazioneZipClient.zipClient(scopiaClientSorgente, scopiaClientDestinazione, CStr(clienti(n)))
'Parte bin OK
ModuloBin.zipBin(arrayElementiFileBin, CStr(clienti(n)), scopiaBinSorgente, scopiaBinDestinazione, Versione)
'Parte war OK
ModuloWeb.copiaWar(Versione, CStr(clienti(n)), ihosting, percorsoCartellaCopia, ipers_war)
'Parte java OK
ModuloBEJava.CopiaE4(Versione, scopiaBEDestinazione, spartizioneSorgente)
ModuloBEJava.CopiaPBjar(Versione, scopiaBEDestinazione, spartizioneSorgente)
ModuloBEJava.CopiaProfiliLog(Versione, scopiaBEDestinazione, spartizioneSorgente)
ModuloBEJava.CreaFilepuntoEsse3(Versione, s_copiaBEDestinazione)
'Parte Jboss
For k = 0 To numeroClientiJboss - 1
If CStr(arrayElementifileClientiJB.Item(k)).ToLower = CStr(clienti(n)).ToLower Then
ModuloJboss.jBosszip(arrayElementifileJboss, Versione, scopiaJbossSorgente, scopiaJbossDestinazione, CStr(clienti(n)))
End If
Next
If i_creazioneFixDb = 1 Then
Dim s_pathFileFixDbSorgente As String = ""
s_pathFileFixDbSorgente = "\\ulisse\source\DB\FIX"
spathFileFixDb = spercorsoFile + "\fileFixDB.txt" '"N:\9-08-00inprog\creazioneCD\fileClientiJboss.txt"
letturaFile.leggifile(arrayElementifileFixDB, s_pathFileFixDb)
FixDB.zipFixDB(arrayElementifileFixDB, spathFileFixDbSorgente, spathFileFixDbDestinazione)
End If
Next
End If
'#######################################################################
'## ##
'## TUTTI I CLIENTI ##
'## ##
'#######################################################################
If itipolancio = 3 Then
Dim numeroClienti As Integer
CollegamentoDB.ConnDBClienti(arrayClienti)
numeroClienti = arrayClienti.Count
For i = 0 To numeroClienti - 1
cartellaClienti = creazioneCartella "\"
CStr(arrayClienti.Item(i)) "\" Versione
'cartellaClienti = creazioneCartella "\UNIMORE\"
Versione
'A) controllo se il cliente è in hosting
CollegamentoDB.ConnDBClienti(ihosting, CStr(arrayClienti.Item(i)), ipers_war)
'CollegamentoDB.ConnDBClienti(i_hosting, "UNIMORE")
spathFileBin = spercorsoFile + "\fileBinCD.txt" '"N:\9-08-00inprog\creazioneCD\fileBinCD.txt"
spathFileJboss = spercorsoFile + "\fileJbossCD.txt" '"N:\9-08-00inprog\creazioneCD\fileJbossCD.txt"
letturaFile.leggifile(arrayElementiFileBin, s_pathFileBin)
letturaFile.leggifile(arrayElementifileJboss, s_pathFileJboss)
'Dim numeroElementiArray As Integer
'numeroElementiArray = arrayElementiFileBin.Count
Console.WriteLine()
'Console.WriteLine(numeroElementiArray)
' 'Console.ReadLine()
Dim s_copiaClientDestinazione As String = ""
Dim s_copiaBinDestinazione As String = ""
Dim s_copiaBEDestinazione As String = ""
Dim s_copiaJbossDestinazione As String = ""
If i_hosting = 0 Or CStr(arrayClienti.Item(i)).ToLower = "uninsubria" Then
' non in hosting struttura modello non divisa in BE e CLIENT
StrutturaCD.CopiaModelloCdNonHosting(cartellaClienti, s_drive)
scopiaClientDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(arrayClienti.Item(i))
"\" Versione + "\Client\STEPSETUP_CLIENT\client"
scopiaBinDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(arrayClienti.Item(i))
"\" Versione + "\Eas\STEPUPGRADE_BIN\bin"
s_copiaBEDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(arrayClienti.Item(i))
"\" Versione
s_copiaJbossDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(arrayClienti.Item(i))
"\" Versione + "\Jboss"
Else
'codice di divisione della cartella
StrutturaCD.CopiaModelloCdHosting(cartellaClienti, sdrive, sparametroCliente.ToUpper)
scopiaClientDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(arrayClienti.Item(i))
"\" Versione + "Client\STEPSETUPCLIENT\client"
scopiaBinDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(arrayClienti.Item(i))
"\" Versione + "backend\Eas\STEPUPGRADEBIN\bin"
scopiaBEDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(arrayClienti.Item(i))
"\" Versione + "backend"
scopiaJbossDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(arrayClienti.Item(i))
"\" Versione + "backend\Jboss"
End If
'cartellaClienti = creazioneCartella "\"
CStr(arrayClienti.Item(i)) "\" Versione
'MkDir(cartellaClienti)
'StrutturaCD.CopiaModelloCd(cartellaClienti)
'copia della parte client del cliente
Dim s_copiaClientSorgente As String = ""
scopiaClientSorgente = spartizioneSorgente
"\" Versione + "inprog" '"N:\9-08-02inprog"
Dim s_copiaBinSorgente As String = ""
scopiaBinSorgente = spartizioneSorgente
"\" Versione "inprog"
"\bin"
Dim s_copiaJbossSorgente As String = ""
scopiaJbossSorgente = spartizioneSorgente
"\" Versione + "inprog"
'Parte client OK
CreazioneZipClient.zipClient(scopiaClientSorgente, scopiaClientDestinazione, CStr(arrayClienti.Item(i)))
'Parte bin OK
ModuloBin.zipBin(arrayElementiFileBin, CStr(arrayClienti.Item(i)), scopiaBinSorgente, scopiaBinDestinazione, Versione)
'Parte war OK
ModuloWeb.copiaWar(Versione, CStr(arrayClienti.Item(i)), ihosting, percorsoCartellaCopia, ipers_war)
'Parte java OK
ModuloBEJava.CopiaE4(Versione, scopiaBEDestinazione, spartizioneSorgente)
ModuloBEJava.CopiaPBjar(Versione, scopiaBEDestinazione, spartizioneSorgente)
ModuloBEJava.CopiaProfiliLog(Versione, scopiaBEDestinazione, spartizioneSorgente)
ModuloBEJava.CreaFilepuntoEsse3(Versione, s_copiaBEDestinazione)
'Parte Jboss
For k = 0 To numeroClientiJboss - 1
If CStr(arrayElementifileClientiJB.Item(k)).ToLower = CStr(arrayClienti.Item(i)).ToLower Then
ModuloJboss.jBosszip(arrayElementifileJboss, Versione, scopiaJbossSorgente, scopiaJbossDestinazione, CStr(arrayClienti.Item(i)))
End If
Next
'Parte Fix di DB
If i_creazioneFixDb = 1 Then
Dim s_pathFileFixDbDestinazione As String = ""
If i_hosting = 0 Then
s_pathFileFixDbDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(arrayClienti.Item(i))
"\" Versione + "\DB\DB\FixEsse3"
Else
spathFileFixDbDestinazione = percorsoCartellaCopia
"\" Versione "\" CStr(arrayClienti.Item(i))
"\" Versione + "backend\DB\FixEsse3"
End If
Dim s_pathFileFixDbSorgente As String = ""
s_pathFileFixDbSorgente = "\\ulisse\source\DB\FIX"
spathFileFixDb = spercorsoFile + "\fileFixDB.txt" '"N:\9-08-00inprog\creazioneCD\fileClientiJboss.txt"
letturaFile.leggifile(arrayElementifileFixDB, s_pathFileFixDb)
FixDB.zipFixDB(arrayElementifileFixDB, spathFileFixDbSorgente, spathFileFixDbDestinazione)
End If
Console.WriteLine(arrayClienti(i))
Console.WriteLine()
Console.WriteLine(i_hosting)
Console.WriteLine()
Next
End If
''CreazioneZipClient.zipClient()
''ModuloBin.zipBin(arrayElementiFile, "IULM")
'Dim s_versioneWar As String = ""
's_versioneWar = Replace(Versione, "-", ".")
''ModuloWeb.copiaWar(s_versioneWar, "IULM")
'Console.WriteLine()
'Console.WriteLine(numeroClienti)
'Console.WriteLine()
'Console.WriteLine(Now)
'Console.ReadLine()
''Dim collezione As New ArrayList
''collezione.Add("pippo")
'testBefore.testProgramma3(arrayElementifileJboss, Versione)
''Console.WriteLine(collezione(0))
'Console.ReadLine()
End Sub
End Module