diff --git a/ApiGit/ApiGitResources/ApiScriptsConfig.ps1 b/ApiGit/ApiGitResources/ApiScriptsConfig.ps1 index 4fc048f..f64f29a 100644 --- a/ApiGit/ApiGitResources/ApiScriptsConfig.ps1 +++ b/ApiGit/ApiGitResources/ApiScriptsConfig.ps1 @@ -12,7 +12,7 @@ $userName = "replica" #### CONF GITLAB AZZANO #### #destinazione mirror per azzano $destinationAzzano = "gitlab-azzano.steamware.net" -#token autenticazione utente replica azzano creato a gennaio 2024, scadenza 31 dicembere 2024 +#token autenticazione utente replica azzano $tokenAzzano = "glpat-tCyVnkDQb3uB_yFywQtK" #access token per autenticazione gitlab-azzano $azzanoHead = @{"PRIVATE-TOKEN" = "$($tokenAzzano)" } @@ -20,20 +20,34 @@ $azzanoHead = @{"PRIVATE-TOKEN" = "$($tokenAzzano)" } #### CONF GITLAB NEMBRO #### #destinazione mirror per nembro $destinationNembro = "gitlab-nembro.steamware.net" -#token autenticazione utente replica nembro creato a gennaio 2024, scadenza 31 dicembere 2024 +#token autenticazione utente replica nembro $tokenNembro = "glpat--9NqsusKLmHdF8z1kU9t" #access token per autenticazione gitlab-nembro $nembroHead = @{"PRIVATE-TOKEN" = "$($tokenNembro)" } #### CONF gitea.steamware.net #### #destinazione mirror per gitea -$giteaDestination = "gitea.steamware.net" +$giteaNembro = "gitea-nembro.steamware.net" #nome utente gitea che effettua i mirror push -$giteaUser = "replica" +$giteaNembroUser = "replica" #autenticazione replica gitea -$giteaPass = "viadante16" +$giteaNembroPass = "vpsad24068" +#token autenticazione utente replica gitea +$tokenGiteaNembro = "c58a2fdf6493bb690e8c39b393e06a121f8a6761" #access token per autenticazione gitea da profilo replica -$giteaHead = @{"Authorization" = "token 3619817f299bb3d92c8a8f86d5fddbe877b60ffa" } +$giteaNembroHead = @{"Authorization" = "token $($tokenGiteaNembro)" } + +#### CONF gitea.steamware.net #### +#destinazione mirror per gitea +$giteaSteamw = "gitea.steamware.net" +#nome utente gitea che effettua i mirror push +$giteaSteamwUser = "replica" +#autenticazione replica gitea +$giteaSteamwPass = "viadante16" +#token autenticazione utente replica gitea +$tokenGiteaSteamw = "e6e6944da93bbaf230e4223012035f2cd55d27a6" +#access token per autenticazione gitea da profilo replica +$giteaSteamwHead = @{"Authorization" = "token $($tokenGiteaSteamw)" } #### CONF gogs.steamware.net #### #destinazione mirror per gogs @@ -42,8 +56,10 @@ $gogsDestination = "gogs.steamware.net" $gogsUser = "replica" #password replica gogs $gogsPass = "viaDante16!" +#token autenticazione utente replica gogs +$tokenGogs = "bb6d8e9a4d76445e33b12e1664140043fdaa8d87" #access token per autenticazione gogs da profilo replica -$gogsHead = @{"Authorization" = "token bb6d8e9a4d76445e33b12e1664140043fdaa8d87" } +$gogsHead = @{"Authorization" = "token $($tokenGogs)" } #### CONF LOG #### #cartella file di log diff --git a/ApiGit/ApiGitResources/ApiScriptsFunctions.ps1 b/ApiGit/ApiGitResources/ApiScriptsFunctions.ps1 index 0c4581a..7277628 100644 --- a/ApiGit/ApiGitResources/ApiScriptsFunctions.ps1 +++ b/ApiGit/ApiGitResources/ApiScriptsFunctions.ps1 @@ -15,6 +15,33 @@ Function WriteLogOutput { } } +#verifica esistenza folder di log +Function CheckLogFolder { + if (Test-Path $logFolder) { + } + else { + New-Item $logFolder -ItemType Directory + } +} + +#rotazione file .log in .old +Function RotateOldLog { + $logPath = Join-Path $logFolder $logFile + $oldLogPath = Join-Path $logFolder $oldLogFile + #se file .old esiste sposto contenuto di attuale .log in coda a attuale .old e cancello attuale .log + if (Test-Path $logPath){ + if (Test-Path $oldLogPath) { + $from = Get-Content -Path $logPath + Add-Content -Path $oldLogPath -Value $from + Remove-Item -Path $logPath + } + #se file .old non esiste rinomino attuale file.log in file.old + else { + Get-ChildItem $logPath | Rename-Item -NewName { $_.Name -replace '.log','.old' } + } + } +} + #creazione nuovo mirror Function FreshMirrorCreation { Param ($projectNumber, $user, $auth, $destination, $path) diff --git a/ApiGit/JobArtifacts/UNFINISHED_CheckGitlabJobArtifact.ps1 b/ApiGit/JobArtifacts/UNFINISHED_CheckGitlabJobArtifact.ps1 index 4dc2646..f39d450 100644 --- a/ApiGit/JobArtifacts/UNFINISHED_CheckGitlabJobArtifact.ps1 +++ b/ApiGit/JobArtifacts/UNFINISHED_CheckGitlabJobArtifact.ps1 @@ -22,13 +22,14 @@ $existingProjects = 0 $jobFound = 0 #nome file di log $logFile = "GitlabJobArtifacts.log" +#nome file di log old +$oldLogFile = "GitlabJobArtifacts.old" -#creazione folder di Log se non già esistente -if (Test-Path $logFolder) { -} -else { - New-Item $logFolder -ItemType Directory -} +#creazione folder di Log se non esiste +CheckLogFolder + +#rotazione vecchio logFile da .log a .old se esiste +RotateOldLog #scrivo intestazione e inizio analisi WriteLogOutput $logFile 0 "--------------------" diff --git a/ApiGit/Mirrors/CheckGitlabCommits.ps1 b/ApiGit/Mirrors/CheckGitlabCommits.ps1 index 3cb34e8..3d86a7f 100644 --- a/ApiGit/Mirrors/CheckGitlabCommits.ps1 +++ b/ApiGit/Mirrors/CheckGitlabCommits.ps1 @@ -13,9 +13,9 @@ $startTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss") # avvio stopwatch $mainStopWatch = [system.diagnostics.stopwatch]::StartNew() #contatore ciclo do while -$projectCount = 1 +$startProj = 1 #numero massimo di progetti da analizzare -$projectNumber = 300 +$endProj = 250 #conteggio progetti trovati $projectsFound = 0 #conteggio progetti con commit negli ultimi giorni @@ -30,13 +30,14 @@ $lastDays = 7 $requestDate = (Get-Date).AddDays(-$lastDays).toString("yyyy-MM-dd") #nome file di log $logFile = "GitlabCommits.log" +#nome file di log old +$oldLogFile = "GitlabCommits.old" -#creazione folder di Log se non già esistente -if (Test-Path $logFolder) { -} -else { - New-Item $logFolder -ItemType Directory -} +#creazione folder di Log se non esiste +CheckLogFolder + +#rotazione vecchio logFile da .log a .old se esiste +RotateOldLog #scrivo intestazione e inizio analisi WriteLogOutput $logFile 0 "--------------------" @@ -53,8 +54,8 @@ WriteLogOutput $logFile 0 "Inizio Esecuzione Script: $startTime" WriteLogOutput $logFile 0 "" WriteLogOutput $logFile 0 "RICERCA DA $requestDate | ULTIMI $lastDays GIORNI" -#ciclo principale do/while che cicla da 1 a N projectNumber -do { +#ciclo principale for che cicla da 1 a N projectNumber +for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++) { $callUrl = "https://gitlab.steamware.net/api/v4/projects/" + $projectCount + "/repository/commits?per_page=100&since=" + $requestDate try { $Response = Invoke-WebRequest -URI $callUrl -Headers $gitlabHead -ContentType "application/json" -UseBasicParsing @@ -85,10 +86,8 @@ do { WriteLogOutput $logFile 3 "**ERRORE NEL PROGETTO $projectCount**" WriteLogOutput $logFile 3 $($parsedError.message) } - $projectCount = $projectCount + 1 } #fine ciclo principale -while ($projectCount -le $projectNumber) #percentuale di projectWithCommits sul totale $projectWithCommitsPercentage = [math]::Round(($projectWithCommits / $projectsFound) * 100, 1) diff --git a/ApiGit/Mirrors/CheckGitlabMirroring.ps1 b/ApiGit/Mirrors/CheckGitlabMirroring.ps1 index 7882040..2582eeb 100644 --- a/ApiGit/Mirrors/CheckGitlabMirroring.ps1 +++ b/ApiGit/Mirrors/CheckGitlabMirroring.ps1 @@ -13,9 +13,9 @@ $startTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss") # avvio stopwatch $mainStopWatch = [system.diagnostics.stopwatch]::StartNew() #contatore ciclo do while -$projectCount = 1 +$startProj = 1 #numero massimo di progetti da analizzare -$projectNumber = 250 +$endProj = 250 #conteggio progetti trovati $existingProjects = 0 #conteggio mirroring in errore @@ -23,14 +23,15 @@ $mirrorErrorsCount = 0 #conteggio mirroring riusciti $mirrorSuccessCount = 0 #nome file di log -$logFile = "GitlabMirroring.log" +$logFile = "GitlabCheckMirrors.log" +#nome file di log old +$oldLogFile = "GitlabCheckMirrors.old" -#creazione folder di Log se non già esistente -if (Test-Path $logFolder) { -} -else { - New-Item $logFolder -ItemType Directory -} +#creazione folder di Log se non esiste +CheckLogFolder + +#rotazione vecchio logFile da .log a .old se esiste +RotateOldLog #scrivo intestazione e inizio analisi WriteLogOutput $logFile 0 "--------------------" @@ -45,8 +46,8 @@ WriteLogOutput $logFile 0 "Percorso log: $logFolder" WriteLogOutput $logFile 0 "" WriteLogOutput $logFile 0 "Inizio Esecuzione Script: $startTime" -#ciclo principale do/while che cicla da 1 a N projectNumber -do { +#ciclo principale for che cicla da startProj a endProj +for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++){ #chiamata api che restituisce informazioni sullo stato dei mirror $callUrl = "https://gitlab.steamware.net/api/v4/projects/" + $projectCount + "/remote_mirrors" WriteLogOutput $logFile 1 "" @@ -77,10 +78,7 @@ do { $parsedError = $_ | ConvertFrom-Json WriteLogOutput $logFile 3 $($parsedError.message) } - $projectCount = $projectCount + 1 } -#fine ciclo principale -while ($projectCount -le $projectNumber) #somma di mirrorSuccess e mirrorErrors $mirrorCount = $mirrorSuccessCount + $mirrorErrorsCount @@ -100,13 +98,13 @@ $endTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss") #invio a zabbix le metriche rilevate tramite zabbix_sender.exe WriteLogOutput $logFile 0 "" -& "C:\Program Files\Zabbix Agent\zabbix_sender.exe" -z zabproxy.ufficio -s "IIS04" -k Gitlab.Projects -o $existingProjects -& "C:\Program Files\Zabbix Agent\zabbix_sender.exe" -z zabproxy.ufficio -s "IIS04" -k Gitlab.TotalMirror -o $mirrorCount -& "C:\Program Files\Zabbix Agent\zabbix_sender.exe" -z zabproxy.ufficio -s "IIS04" -k Gitlab.SuccessMirror -o $mirrorSuccessCount -& "C:\Program Files\Zabbix Agent\zabbix_sender.exe" -z zabproxy.ufficio -s "IIS04" -k Gitlab.ErrorsMirror -o $mirrorErrorsCount -& "C:\Program Files\Zabbix Agent\zabbix_sender.exe" -z zabproxy.ufficio -s "IIS04" -k Gitlab.SuccessMirrorPercent -o $mirrorSuccessPercentage -& "C:\Program Files\Zabbix Agent\zabbix_sender.exe" -z zabproxy.ufficio -s "IIS04" -k Gitlab.ErrorsMirrorPercent -o $mirrorErrorsPercentage -& "C:\Program Files\Zabbix Agent\zabbix_sender.exe" -z zabproxy.ufficio -s "IIS04" -k Gitlab.CheckMirrorDuration -o $durataScript +& "C:\Program Files\Zabbix Agent\zabbix_sender.exe" -z zabbix.egalware -s "IIS04" -k Gitlab.Projects -o $existingProjects +& "C:\Program Files\Zabbix Agent\zabbix_sender.exe" -z zabbix.egalware -s "IIS04" -k Gitlab.TotalMirror -o $mirrorCount +& "C:\Program Files\Zabbix Agent\zabbix_sender.exe" -z zabbix.egalware -s "IIS04" -k Gitlab.SuccessMirror -o $mirrorSuccessCount +& "C:\Program Files\Zabbix Agent\zabbix_sender.exe" -z zabbix.egalware -s "IIS04" -k Gitlab.ErrorsMirror -o $mirrorErrorsCount +& "C:\Program Files\Zabbix Agent\zabbix_sender.exe" -z zabbix.egalware -s "IIS04" -k Gitlab.SuccessMirrorPercent -o $mirrorSuccessPercentage +& "C:\Program Files\Zabbix Agent\zabbix_sender.exe" -z zabbix.egalware -s "IIS04" -k Gitlab.ErrorsMirrorPercent -o $mirrorErrorsPercentage +& "C:\Program Files\Zabbix Agent\zabbix_sender.exe" -z zabbix.egalware -s "IIS04" -k Gitlab.CheckMirrorDuration -o $durataScript #scrivo a video le statistiche WriteLogOutput $logFile 0 "" diff --git a/ApiGit/Mirrors/GitlabCreateMissingMirrors.ps1 b/ApiGit/Mirrors/GitlabCreateMissingMirrors.ps1 index 601f995..44bdba9 100644 --- a/ApiGit/Mirrors/GitlabCreateMissingMirrors.ps1 +++ b/ApiGit/Mirrors/GitlabCreateMissingMirrors.ps1 @@ -13,24 +13,19 @@ $startTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss") # avvio stopwatch $mainStopWatch = [system.diagnostics.stopwatch]::StartNew() #contatore ciclo do while -$projectCount = 200 +$startProj = 1 #numero massimo di progetti da analizzare -$projectNumber = 250 +$endProj = 250 #nome file di log $logFile = "NewMirrorsCreation.log" +#nome file di log old +$oldLogFile = "NewMirrorsCreation.old" -#creazione folder di Log se non già esistente -if (Test-Path $logFolder) { -} -else { - New-Item $logFolder -ItemType Directory -} +#creazione folder di Log se non esiste +CheckLogFolder -#chiedo all'utente il project ID su cui lavorare -#$projectCount = Read-Host -Prompt 'Project ID per eseguire lo script: ' - -#chiedo all'utente quante volte devo ciclare sui project ID -#$projectNumber = Read-Host -Prompt 'Contatore dei Project ID su cui lavorare: ' +#rotazione vecchio logFile da .log a .old se esiste +RotateOldLog #scrivo intestazione e inizio analisi WriteLogOutput $logFile 0 "--------------------" @@ -45,8 +40,8 @@ WriteLogOutput $logFile 0 "Percorso log: $logFolder" WriteLogOutput $logFile 0 "" WriteLogOutput $logFile 0 "Inizio Esecuzione Script: $startTime" -#ciclo principale do/while che cicla da 1 a N projectNumber -do { +#ciclo principale for che cicla da 1 a N projectNumber +for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++) { $callUrl = "https://gitlab.steamware.net/api/v4/projects/" + $projectCount + "/remote_mirrors" try { $gitlabResponse = Invoke-WebRequest -URI $callUrl -Headers $gitlabHead -ContentType "application/json" -UseBasicParsing @@ -63,9 +58,13 @@ do { #compongo path con struttura Egalware/NomeProgetto.git $simplePath = "Egalware/" + $($parsedNameResponse.path) + ".git" #se la risposta non contiene "gitea" procedo a creare mirror relativo - if ($gitlabResponse.Content -inotmatch "gitea") { - #chiamo funzione per creare mirror verso gitea - FreshMirrorCreation $projectCount $giteaUser $giteaPass $giteaDestination $simplePath + if ($gitlabResponse.Content -inotmatch "gitea.steamware.net") { + #chiamo funzione per creare mirror verso gitea-steamware + FreshMirrorCreation $projectCount $giteaSteamwUser $giteaSteamwPass $giteaSteamw $simplePath + } + if ($gitlabResponse.Content -inotmatch "gitea-nembro.steamware.net") { + #chiamo funzione per creare mirror verso gitea-nembro + FreshMirrorCreation $projectCount $giteaNembroUser $giteaNembroPass $giteaNembro $simplePath } #se la risposta non contiene "gogs" procedo a creare mirror relativo if ($gitlabResponse.Content -inotmatch "gogs") { @@ -91,10 +90,8 @@ do { WriteLogOutput $logFile 3 "**ERRORE NEL PROGETTO $projectCount**" WriteLogOutput $logFile 3 $($parsedError.message) } - $projectCount = $projectCount + 1 } #fine ciclo principale -while ($projectCount -le $projectNumber) # fermo stopwatch e calcolo durata script $mainStopWatch.Stop() diff --git a/ApiGit/Mirrors/GitlabForcePushMirror.ps1 b/ApiGit/Mirrors/GitlabForcePushMirror.ps1 index d15eaba..83e67fb 100644 --- a/ApiGit/Mirrors/GitlabForcePushMirror.ps1 +++ b/ApiGit/Mirrors/GitlabForcePushMirror.ps1 @@ -12,22 +12,23 @@ $startTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss") # avvio stopwatch $mainStopWatch = [system.diagnostics.stopwatch]::StartNew() #contatore ciclo do while -$projectCount = 1 -#numero massimo di progetti -$projectNumber = 300 +$startProj = 1 +#numero massimo di progetti da analizzare +$endProj = 250 #conteggio progetti trovati $existingProjects = 0 #contatore mirror trovati $mirrorCount = 0 #nome file di log $logFile = "GitlabForcePushMirror.log" +#nome file di log old +$oldLogFile = "GitlabForcePushMirror.old" -#creazione folder di Log se non già esistente -if (Test-Path $logFolder) { -} -else { - New-Item $logFolder -ItemType Directory -} +#creazione folder di Log se non esiste +CheckLogFolder + +#rotazione vecchio logFile da .log a .old se esiste +RotateOldLog #scrivo intestazione e inizio analisi WriteLogOutput $logFile 0 "--------------------" @@ -42,8 +43,8 @@ WriteLogOutput $logFile 0 "Percorso log: $logFolder" WriteLogOutput $logFile 0 "" WriteLogOutput $logFile 0 "Inizio Esecuzione Script: $startTime" -#ciclo principale do/while che cicla da 1 a N projectNumber -do { +#ciclo principale for che cicla da 1 a N projectNumber +for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++) { #chiamata api che restituisce informazioni sullo stato dei mirror $callUrl = "https://gitlab.steamware.net/api/v4/projects/" + $projectCount + "/remote_mirrors" WriteLogOutput $logFile 1 "" @@ -73,10 +74,8 @@ do { $parsedError = $_ | ConvertFrom-Json WriteLogOutput $logFile 3 $($parsedError.message) } - $projectCount = $projectCount + 1 } #fine ciclo principale -while ($projectCount -le $projectNumber) # fermo stopwatch e calcolo durata script $mainStopWatch.Stop() diff --git a/ApiGit/Mirrors/GitlabRefreshMirrorToGitea.ps1 b/ApiGit/Mirrors/GitlabRefreshMirrorToGitea.ps1 index ff273b8..7f0a42a 100644 --- a/ApiGit/Mirrors/GitlabRefreshMirrorToGitea.ps1 +++ b/ApiGit/Mirrors/GitlabRefreshMirrorToGitea.ps1 @@ -12,23 +12,48 @@ $startTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss") # avvio stopwatch $mainStopWatch = [system.diagnostics.stopwatch]::StartNew() #contatore ciclo do while -$projectCount = 1 -#numero massimo di progetti -$projectNumber = 250 +$startProj = 1 +#numero massimo di progetti da analizzare +$endProj = 250 #inizializzo variabili vuote $mirrorId = "" $mirrorUrl = "" $body = "" $jsonBody = "" - #nome file di log $logFile = "GitlabMirroringGitea.log" +#nome file di log old +$oldLogFile = "GitlabMirroringGitea.old" -#creazione folder di Log se non già esistente -if (Test-Path $logFolder) { +#gitea di destinazione +#$target = "steamware" +$target = "nembro" + +#creazione folder di Log se non esiste +CheckLogFolder + +#rotazione vecchio logFile da .log a .old se esiste +RotateOldLog + +if ($target = "steamware"){ + #destinazione mirror per gitea Steamw + $giteaDestination = $giteaSteamw + #nome utente gitea Steamw che effettua i mirror push + $giteaUser = $giteaSteamwUser + #autenticazione replica gitea Steamw + $giteaPass = $giteaSteamwPass + #access token per autenticazione gitea Steamw da profilo replica + $giteaHead = $giteaSteamwHead } -else { - New-Item $logFolder -ItemType Directory +if ($target = "nembro"){ + #destinazione mirror per gitea nembro + $giteaDestination = $giteaNembro + #nome utente gitea nembro che effettua i mirror push + $giteaUser = $giteaNembroUser + #autenticazione replica gitea nembro + $giteaPass = $giteaNembroPass + #access token per autenticazione gitea nembro da profilo replica + $giteaHead = $giteaNembroHead } #scrivo intestazione e inizio analisi @@ -44,8 +69,8 @@ WriteLogOutput $logFile 0 "Percorso log: $logFolder" WriteLogOutput $logFile 0 "" WriteLogOutput $logFile 0 "Inizio Esecuzione Script: $startTime" -#ciclo principale do/while che cicla da 1 a N projectNumber -do { +#ciclo principale for che cicla da startProj a endProj +for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++){ #chiamata api che restituisce informazioni sullo stato dei mirror $callUrl = "https://gitlab.steamware.net/api/v4/projects/" + $projectCount + "/remote_mirrors" try { @@ -60,8 +85,7 @@ do { $mirrorUrl = "" $trunkedPath = "" #controllo se l'url del mirror contiene gitea - if ($item.url.Contains("gitea")) { - $mirrorDestination = "@gitea.steamware.net" + if ($item.url.Contains($giteaDestination)) { #salvo id mirror e url mirror $mirrorId = $($item.id) $mirrorUrl = $($item.url) @@ -76,7 +100,7 @@ do { #compongo url da chiamare per creazione nuovo mirror $callUrlCreateMirror = "https://gitlab.steamware.net/api/v4/projects/" + $projectCount + "/remote_mirrors" #creo url del nuovo mirror con username e pass relativi a gitlab - $newMirror = "https://" + $giteaUser + ":" + $giteaPass + $mirrorDestination + "/" + $trunkedPath + $newMirror = "https://" + $giteaUser + ":" + $giteaPass + "@" + $giteaDestination + "/" + $trunkedPath #creo body da convertire in json $body = @{ @@ -104,10 +128,8 @@ do { WriteLogOutput $logFile 3 "**ERRORE NEL PROGETTO $projectCount**" WriteLogOutput $logFile 3 $($parsedError.message) } - $projectCount = $projectCount + 1 } #fine ciclo principale -while ($projectCount -le $projectNumber) # fermo stopwatch e calcolo durata script $mainStopWatch.Stop() diff --git a/ApiGit/Mirrors/GitlabRenewTokensMirrors.ps1 b/ApiGit/Mirrors/GitlabRenewTokensMirrors.ps1 index 9bd3787..6fc0723 100644 --- a/ApiGit/Mirrors/GitlabRenewTokensMirrors.ps1 +++ b/ApiGit/Mirrors/GitlabRenewTokensMirrors.ps1 @@ -13,24 +13,24 @@ $startTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss") # avvio stopwatch $mainStopWatch = [system.diagnostics.stopwatch]::StartNew() #contatore ciclo do while -$projectCount = 1 -#numero massimo di progetti -$projectNumber = 250 +$startProj = 1 +#numero massimo di progetti da analizzare +$endProj = 250 #inizializzo variabili vuote $mirrorId = "" $mirrorUrl = "" $body = "" $jsonBody = "" - #nome file di log $logFile = "GitlabRebuildMirroring.log" +#nome file di log old +$oldLogFile = "GitlabRebuildMirroring.old" -#creazione folder di Log se non già esistente -if (Test-Path $logFolder) { -} -else { - New-Item $logFolder -ItemType Directory -} +#creazione folder di Log se non esiste +CheckLogFolder + +#rotazione vecchio logFile da .log a .old se esiste +RotateOldLog #scrivo intestazione e inizio analisi WriteLogOutput $logFile 0 "--------------------" @@ -45,8 +45,8 @@ WriteLogOutput $logFile 0 "Percorso log: $logFolder" WriteLogOutput $logFile 0 "" WriteLogOutput $logFile 0 "Inizio Esecuzione Script: $startTime" -#ciclo principale do/while che cicla da 1 a N projectNumber -do { +#ciclo principale for che cicla da startProj a endProj +for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++){ #chiamata api che restituisce informazioni sullo stato dei mirror $callUrl = "https://gitlab.steamware.net/api/v4/projects/" + $projectCount + "/remote_mirrors" try { @@ -120,10 +120,8 @@ do { WriteLogOutput $logFile 3 "**ERRORE NEL PROGETTO $projectCount**" WriteLogOutput $logFile 3 $($parsedError.message) } - $projectCount = $projectCount + 1 } #fine ciclo principale -while ($projectCount -le $projectNumber) # fermo stopwatch e calcolo durata script $mainStopWatch.Stop() diff --git a/ApiGit/Misc/CheckGitlabProtectedBranches.ps1 b/ApiGit/Misc/CheckGitlabProtectedBranches.ps1 index 1fb19c5..6e587a1 100644 --- a/ApiGit/Misc/CheckGitlabProtectedBranches.ps1 +++ b/ApiGit/Misc/CheckGitlabProtectedBranches.ps1 @@ -1,7 +1,6 @@ ###Gitlab: controllo i branch protetti (e eventualmente toglie la protezione) dai gitlab nembro e azzano### -#Questo script passa in rassegna tutti i progetti esistenti sui gitlab satellite nembro e azzano per verificare la presenza di branch protetti che potrebbero impedire -#il corretto funzionamento dei mirror verso tali repo. Se necessario questo script può anche rimuovere la protezione da tali branch. +#Questo script passa in rassegna tutti i progetti esistenti sui gitlab satellite nembro e azzano per verificare la presenza di branch protetti che potrebbero impedire il corretto funzionamento dei mirror verso tali repo. Se necessario questo script può anche rimuovere la protezione da tali branch. #importo file contenente configurazioni . .\ApiGit\ApiGitResources\ApiScriptsConfig.ps1 @@ -13,9 +12,9 @@ $startTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss") # avvio stopwatch $mainStopWatch = [system.diagnostics.stopwatch]::StartNew() #contatore ciclo do while -$projectCount = 1 +$startProj = 1 #numero massimo di progetti da analizzare -$projectNumber = 300 +$endProj = 250 #conteggio progetti trovati $existingProjects = 0 #conteggio progetti trovati @@ -24,13 +23,14 @@ $protectedProjects = 0 $deleteProtection = 1 #nome file di log $logFile = "GitlabProtectedBranches.log" +#nome file old log +$oldLogFile = "GitlabProtectedBranches.old" #creazione folder di Log se non già esistente -if (Test-Path $logFolder) { -} -else { - New-Item $logFolder -ItemType Directory -} +CheckLogFolder + +#rotazione vecchio logFile da .log a .old se esiste +RotateOldLog #scrivo intestazione e inizio analisi WriteLogOutput $logFile 0 "--------------------" @@ -44,30 +44,21 @@ WriteLogOutput $logFile 0 "" WriteLogOutput $logFile 0 "Percorso log: $logFolder" WriteLogOutput $logFile 0 "" WriteLogOutput $logFile 0 "Inizio Esecuzione Script: $startTime" -WriteLogOutput $logFile 0 "" -WriteLogOutput $logFile 0 "Gitlab di Destinazione: $gitlabIstance" - -#specifica quale installazione di gitlab va controllata -#$remote = "Nembro" -#$remote = "Azzano" $locations = @('Nembro','Azzano') #ciclo for per lavorare su gitlab nembro e poi su gitlab azzano -for ( $i = 0; $i -le 1; $i++) -{ - $projectCount = 1 - $remote = $locations[$i] +foreach ($remote in $locations){ if ($remote -eq "Nembro"){ - $gitlabIstance = $destinationNembro - $head = $nembroHead + $gitlabIstance = $destinationNembro + $head = $nembroHead } - if ($remote -eq "Azzano"){ - $gitlabIstance = $destinationAzzano - $head = $azzanoHead + elseif ($remote -eq "Azzano"){ + $gitlabIstance = $destinationAzzano + $head = $azzanoHead } - #ciclo principale do/while che cicla da 1 a N projectNumber - do { + #ciclo principale for che cicla da startProj a endProj + for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++) { #chiamata api che restituisce informazioni sullo stato dei mirror $callUrl = "https://" + $gitlabIstance + "/api/v4/projects/" + $projectCount + "/protected_branches" try { @@ -77,7 +68,7 @@ for ( $i = 0; $i -le 1; $i++) #scrivo il numero del progetto WriteLogOutput $logFile 1 "" WriteLogOutput $logFile 1 "--------------------" - WriteLogOutput $logFile 1 "**PROGETTO $projectCount**" + WriteLogOutput $logFile 1 "**PROGETTO $projectCount $gitlabIstance**" foreach ($item in $parsedResponse) { WriteLogOutput $logFile 1 "Protected Branch Name: $($item.name) - Allow Force Push: $($item.allow_force_push)" $protectedProjects = $protectedProjects + 1 @@ -98,12 +89,10 @@ for ( $i = 0; $i -le 1; $i++) WriteLogOutput $logFile 3 "**ERRORE NEL PROGETTO $projectCount**" WriteLogOutput $logFile 3 $($parsedError.message) } - $projectCount = $projectCount + 1 + #fine ciclo dei progetti } - #fine ciclo principale - while ($projectCount -le $projectNumber) +#fine ciclo remote nembro/azzano } - # fermo stopwatch e calcolo durata script $mainStopWatch.Stop() $durataScript = $mainStopWatch.Elapsed.TotalSeconds diff --git a/ApiGit/Misc/GitlabCreateDevelopBranch.ps1 b/ApiGit/Misc/GitlabCreateDevelopBranch.ps1 index 99aa00c..5f613b9 100644 --- a/ApiGit/Misc/GitlabCreateDevelopBranch.ps1 +++ b/ApiGit/Misc/GitlabCreateDevelopBranch.ps1 @@ -13,24 +13,19 @@ $startTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss") # avvio stopwatch $mainStopWatch = [system.diagnostics.stopwatch]::StartNew() #contatore ciclo do while -$projectCount = 1 +$startProj = 1 #numero massimo di progetti da analizzare -$projectNumber = 300 +$endProj = 250 #nome file di log $logFile = "GitlabDevelopCreation.log" +#nome file di log old +$oldLogFile = "GitlabDevelopCreation.old" -#creazione folder di Log se non già esistente -if (Test-Path $logFolder) { -} -else { - New-Item $logFolder -ItemType Directory -} +#creazione folder di Log se non esiste +CheckLogFolder -#chiedo all'utente il project ID su cui lavorare -#$projectCount = Read-Host -Prompt 'Project ID per eseguire lo script: ' - -#chiedo all'utente quante volte devo ciclare sui project ID -#$projectNumber = Read-Host -Prompt 'Contatore dei Project ID su cui lavorare: ' +#rotazione vecchio logFile da .log a .old se esiste +RotateOldLog #scrivo intestazione e inizio analisi WriteLogOutput $logFile 0 "--------------------" @@ -45,8 +40,8 @@ WriteLogOutput $logFile 0 "Percorso log: $logFolder" WriteLogOutput $logFile 0 "" WriteLogOutput $logFile 0 "Inizio Esecuzione Script: $startTime" -#ciclo principale do/while che cicla da 1 a N projectNumber -do { +#ciclo principale for che cicla da startProj a endProj +for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++){ #compongo chiamata api per lavorare sui branch $branchUrl = "https://gitlab.steamware.net/api/v4/projects/" + $projectCount + "/repository/branches" try { @@ -89,10 +84,8 @@ do { WriteLogOutput $logFile 3 "**ERRORE NEL PROGETTO $projectCount**" WriteLogOutput $logFile 3 $($parsedError.message) } - $projectCount = $projectCount + 1 } #fine ciclo principale -while ($projectCount -le $projectNumber) # fermo stopwatch e calcolo durata script $mainStopWatch.Stop() diff --git a/ApiGit/Misc/GitlabCreateTags.ps1 b/ApiGit/Misc/GitlabCreateTags.ps1 index b529b78..8c5f87e 100644 --- a/ApiGit/Misc/GitlabCreateTags.ps1 +++ b/ApiGit/Misc/GitlabCreateTags.ps1 @@ -14,18 +14,19 @@ $startTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss") # avvio stopwatch $mainStopWatch = [system.diagnostics.stopwatch]::StartNew() #contatore ciclo do while -$projectCount = 1 +$startProj = 1 #numero massimo di progetti da analizzare -$projectNumber = 300 +$endProj = 250 #nome file di log $logFile = "GitlabTagCreation.log" +#nome file di log old +$oldLogFile = "GitlabTagCreation.old" -#creazione folder di Log se non già esistente -if (Test-Path $logFolder) { -} -else { - New-Item $logFolder -ItemType Directory -} +#creazione folder di Log se non esiste +CheckLogFolder + +#rotazione vecchio logFile da .log a .old se esiste +RotateOldLog #scrivo intestazione e inizio analisi WriteLogOutput $logFile 0 "--------------------" @@ -40,14 +41,8 @@ WriteLogOutput $logFile 0 "Percorso log: $logFolder" WriteLogOutput $logFile 0 "" WriteLogOutput $logFile 0 "Inizio Esecuzione Script: $startTime" -#chiedo all'utente il project ID su cui lavorare -#$projectCount = Read-Host -Prompt 'Project ID per eseguire lo script: ' - -#chiedo all'utente quante volte devo ciclare sui project ID -#$projectNumber = Read-Host -Prompt 'Contatore dei Project ID su cui lavorare: ' - -#ciclo principale do/while che cicla da 1 a N projectNumber -do { +#ciclo principale for che cicla da startProj a endProj +for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++){ #compongo chiamata api per lavorare sui tag $tagsUrl = "https://gitlab.steamware.net/api/v4/projects/" + $projectCount + "/repository/tags" try { @@ -77,10 +72,8 @@ do { WriteLogOutput $logFile 3 "**ERRORE NEL PROGETTO $projectCount**" WriteLogOutput $logFile 3 $($parsedError.message) } - $projectCount = $projectCount + 1 } #fine ciclo principale -while ($projectCount -le $projectNumber) # fermo stopwatch e calcolo durata script $mainStopWatch.Stop() diff --git a/ApiGit/Misc/GitlabEditReposNamespace.ps1 b/ApiGit/Misc/GitlabEditReposNamespace.ps1 index 7e51f99..6ea9f4f 100644 --- a/ApiGit/Misc/GitlabEditReposNamespace.ps1 +++ b/ApiGit/Misc/GitlabEditReposNamespace.ps1 @@ -13,18 +13,19 @@ $startTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss") # avvio stopwatch $mainStopWatch = [system.diagnostics.stopwatch]::StartNew() #contatore ciclo do while -$projectCount = 1 +$startProj = 1 #numero massimo di progetti da analizzare -$projectNumber = 300 +$endProj = 250 #nome file di log $logFile = "EditReposNamespace.log" +#nome file di log old +$oldLogFile = "EditReposNamespace.old" -#creazione folder di Log se non già esistente -if (Test-Path $logFolder) { -} -else { - New-Item $logFolder -ItemType Directory -} +#creazione folder di Log se non esiste +CheckLogFolder + +#rotazione vecchio logFile da .log a .old se esiste +RotateOldLog #scrivo intestazione e inizio analisi WriteLogOutput $logFile 0 "--------------------" @@ -39,8 +40,8 @@ WriteLogOutput $logFile 0 "Percorso log: $logFolder" WriteLogOutput $logFile 0 "" WriteLogOutput $logFile 0 "Inizio Esecuzione Script: $startTime" -#ciclo principale do/while che cicla da 1 a N projectNumber. su gitlab nembro e gitlab azzano il namespace 19 è il gruppo egalware -do { +#ciclo principale for che cicla da startProj a endProj +for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++){ $callGitlabUrl = "https://" + $destinationAzzano + "/api/v4/projects/" + $projectCount + "/transfer?namespace=19" try { $gitlabResponse = Invoke-WebRequest -URI $callGitlabUrl -Method PUT -Headers $azzanoHead -ContentType "application/json" -UseBasicParsing @@ -59,10 +60,8 @@ do { WriteLogOutput $logFile 3 "**ERRORE NEL PROGETTO $projectCount**" WriteLogOutput $logFile 3 $($parsedError.message) } - $projectCount = $projectCount + 1 } #fine ciclo principale -while ($projectCount -le $projectNumber) # fermo stopwatch e calcolo durata script $mainStopWatch.Stop() diff --git a/ApiGit/Pipelines/CheckGitlabAzzanoPipelines.ps1 b/ApiGit/Pipelines/CheckGitlabAzzanoPipelines.ps1 index 2328903..12623a1 100644 --- a/ApiGit/Pipelines/CheckGitlabAzzanoPipelines.ps1 +++ b/ApiGit/Pipelines/CheckGitlabAzzanoPipelines.ps1 @@ -10,9 +10,9 @@ $startTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss") # avvio stopwatch $mainStopWatch = [system.diagnostics.stopwatch]::StartNew() #contatore ciclo do while -$projectCount = 1 +$startProj = 1 #numero massimo di progetti da analizzare -$projectNumber = 300 +$endProj = 250 #conteggio progetti trovati $projectsWithPipeline = 0 #conteggio pipeline in errore @@ -20,14 +20,15 @@ $pipelineErrorsCount = 0 #conteggio pipeline riusciti $pipelineSuccessCount = 0 #nome file di log -$logFile = "Gitlab-AzzanoPipeline.log" +$logFile = "GitlabAzzanoPipeline.log" +#nome file di log old +$oldLogFile = "GitlabAzzanoPipeline.old" -#creazione folder di Log se non già esistente -if (Test-Path $logFolder) { -} -else { - New-Item $logFolder -ItemType Directory -} +#creazione folder di Log se non esiste +CheckLogFolder + +#rotazione vecchio logFile da .log a .old se esiste +RotateOldLog #scrivo intestazione e inizio analisi WriteLogOutput $logFile 0 "--------------------" @@ -42,8 +43,8 @@ WriteLogOutput $logFile 0 "Percorso log: $logFolder" WriteLogOutput $logFile 0 "" WriteLogOutput $logFile 0 "Inizio Esecuzione Script: $startTime" -#ciclo principale do/while che cicla da 1 a N projectNumber -do { +#ciclo principale for che cicla da startProj a endProj +for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++){ $callUrl = "https://gitlab-azzano.steamware.net/api/v4/projects/" + $projectCount + "/pipelines/latest" try { $Response = Invoke-WebRequest -URI $callUrl -Headers $azzanoHead -ContentType "application/json" -UseBasicParsing @@ -74,10 +75,8 @@ do { WriteLogOutput $logFile 3 "**ERRORE NEL PROGETTO $projectCount**" WriteLogOutput $logFile 3 $($parsedError.message) } - $projectCount = $projectCount + 1 } #fine ciclo principale -while ($projectCount -le $projectNumber) #somma di pipelineSuccess e pipelineErrors $pipelineCount = $pipelineSuccessCount + $pipelineErrorsCount diff --git a/ApiGit/Pipelines/CheckGitlabNembroPipelines.ps1 b/ApiGit/Pipelines/CheckGitlabNembroPipelines.ps1 index 2c6f192..0580d22 100644 --- a/ApiGit/Pipelines/CheckGitlabNembroPipelines.ps1 +++ b/ApiGit/Pipelines/CheckGitlabNembroPipelines.ps1 @@ -10,9 +10,9 @@ $startTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss") # avvio stopwatch $mainStopWatch = [system.diagnostics.stopwatch]::StartNew() #contatore ciclo do while -$projectCount = 1 +$startProj = 1 #numero massimo di progetti da analizzare -$projectNumber = 300 +$endProj = 250 #conteggio progetti trovati $projectsWithPipeline = 0 #conteggio pipeline in errore @@ -20,14 +20,15 @@ $pipelineErrorsCount = 0 #conteggio pipeline riusciti $pipelineSuccessCount = 0 #nome file di log -$logFile = "Gitlab-NembroPipeline.log" +$logFile = "GitlabNembroPipeline.log" +#nome file di log old +$oldLogFile = "GitlabNembroPipeline.old" -#creazione folder di Log se non già esistente -if (Test-Path $logFolder) { -} -else { - New-Item $logFolder -ItemType Directory -} +#creazione folder di Log se non esiste +CheckLogFolder + +#rotazione vecchio logFile da .log a .old se esiste +RotateOldLog #scrivo intestazione e inizio analisi WriteLogOutput $logFile 0 "--------------------" @@ -42,8 +43,8 @@ WriteLogOutput $logFile 0 "Percorso log: $logFolder" WriteLogOutput $logFile 0 "" WriteLogOutput $logFile 0 "Inizio Esecuzione Script: $startTime" -#ciclo principale do/while che cicla da 1 a N projectNumber -do { +#ciclo principale for che cicla da startProj a endProj +for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++){ $callUrl = "https://gitlab-nembro.steamware.net/api/v4/projects/" + $projectCount + "/pipelines/latest" try { $Response = Invoke-WebRequest -URI $callUrl -Headers $nembroHead -ContentType "application/json" -UseBasicParsing @@ -74,10 +75,8 @@ do { WriteLogOutput $logFile 3 "**ERRORE NEL PROGETTO $projectCount**" WriteLogOutput $logFile 3 $($parsedError.message) } - $projectCount = $projectCount + 1 } #fine ciclo principale -while ($projectCount -le $projectNumber) #somma di pipelineSuccess e pipelineErrors $pipelineCount = $pipelineSuccessCount + $pipelineErrorsCount diff --git a/ApiGit/Pipelines/CheckGitlabPipelines.ps1 b/ApiGit/Pipelines/CheckGitlabPipelines.ps1 index 156cca1..ad9473a 100644 --- a/ApiGit/Pipelines/CheckGitlabPipelines.ps1 +++ b/ApiGit/Pipelines/CheckGitlabPipelines.ps1 @@ -13,9 +13,9 @@ $startTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss") # avvio stopwatch $mainStopWatch = [system.diagnostics.stopwatch]::StartNew() #contatore ciclo do while -$projectCount = 1 +$startProj = 1 #numero massimo di progetti da analizzare -$projectNumber = 300 +$endProj = 250 #conteggio progetti trovati $projectsWithPipeline = 0 #conteggio pipeline in errore @@ -24,13 +24,14 @@ $pipelineErrorsCount = 0 $pipelineSuccessCount = 0 #nome file di log $logFile = "GitlabPipeline.log" +#nome file di log old +$oldLogFile = "GitlabPipeline.old" -#creazione folder di Log se non già esistente -if (Test-Path $logFolder) { -} -else { - New-Item $logFolder -ItemType Directory -} +#creazione folder di Log se non esiste +CheckLogFolder + +#rotazione vecchio logFile da .log a .old se esiste +RotateOldLog #scrivo intestazione e inizio analisi WriteLogOutput $logFile 0 "--------------------" @@ -45,8 +46,8 @@ WriteLogOutput $logFile 0 "Percorso log: $logFolder" WriteLogOutput $logFile 0 "" WriteLogOutput $logFile 0 "Inizio Esecuzione Script: $startTime" -#ciclo principale do/while che cicla da 1 a N projectNumber -do { +#ciclo principale for che cicla da startProj a endProj +for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++){ $callUrl = "https://gitlab.steamware.net/api/v4/projects/" + $projectCount + "/pipelines/latest" try { $Response = Invoke-WebRequest -URI $callUrl -Headers $gitlabHead -ContentType "application/json" -UseBasicParsing @@ -77,10 +78,8 @@ do { WriteLogOutput $logFile 3 "**ERRORE NEL PROGETTO $projectCount**" WriteLogOutput $logFile 3 $($parsedError.message) } - $projectCount = $projectCount + 1 } #fine ciclo principale -while ($projectCount -le $projectNumber) #somma di pipelineSuccess e pipelineErrors $pipelineCount = $pipelineSuccessCount + $pipelineErrorsCount diff --git a/ApiGit/ReposCreation/ReposCreationAzzanoNembro.ps1 b/ApiGit/ReposCreation/ReposCreationAzzanoNembro.ps1 index 955c725..4c6e7e2 100644 --- a/ApiGit/ReposCreation/ReposCreationAzzanoNembro.ps1 +++ b/ApiGit/ReposCreation/ReposCreationAzzanoNembro.ps1 @@ -13,15 +13,23 @@ $startTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss") # avvio stopwatch $mainStopWatch = [system.diagnostics.stopwatch]::StartNew() #contatore ciclo do while -$projectCount = 200 -#numero massimo di progetti da analizzare (messo a 1 per "sicura inserita" siccome questo script è potenzialmente pericoloso) -$projectNumber = 250 +$startProj = 1 +#numero massimo di progetti da analizzare +$endProj = 250 #nome file di log $logFile = "AzzanoNembroReposCreation.log" +#nome file di log old +$oldLogFile = "AzzanoNembroReposCreation.old" + +#creazione folder di Log se non esiste +CheckLogFolder + +#rotazione vecchio logFile da .log a .old se esiste +RotateOldLog #specifica quale installazione di gitlab va controllata -#$remote = "Nembro" -$remote = "Azzano" +$remote = "Nembro" +#$remote = "Azzano" if ($remote -eq "Nembro"){ $gitlabIstance = $destinationNembro @@ -32,13 +40,6 @@ $gitlabIstance = $destinationAzzano $destinationHead = $azzanoHead } -#creazione folder di Log se non già esistente -if (Test-Path $logFolder) { -} -else { - New-Item $logFolder -ItemType Directory -} - #scrivo intestazione e inizio analisi WriteLogOutput $logFile 0 "--------------------" Switch ($logLevel) { @@ -52,8 +53,8 @@ WriteLogOutput $logFile 0 "Percorso log: $logFolder" WriteLogOutput $logFile 0 "" WriteLogOutput $logFile 0 "Inizio Esecuzione Script: $startTime" -#ciclo principale do/while che cicla da 1 a N projectNumber -do { +#ciclo principale for che cicla da startProj a endProj +for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++){ $callGitlabUrl = "https://gitlab.steamware.net/api/v4/projects/" + $projectCount try { #scrivo il numero del progetto nel terminale e su file @@ -65,9 +66,9 @@ do { #dichiaro un body da convertire in JSON con il nome del repo da creare $body = @{ - #name = $($parsedGitlabResponse.name); name = $($parsedGitlabResponse.path); - #(namespace_id 19 è Egalware) + #name = $($parsedGitlabResponse.name); + #namespace_id 19 è il gruppo Egalware namespace_id = 19 } #scrivo il nome del progetto nel terminale e su file @@ -84,10 +85,8 @@ do { $parsedError = $_ | ConvertFrom-Json WriteLogOutput $logFile 3 "Errore: $($parsedError.message)" } - $projectCount = $projectCount + 1 } #fine ciclo principale -while ($projectCount -le $projectNumber) # fermo stopwatch e calcolo durata script $mainStopWatch.Stop() diff --git a/ApiGit/ReposCreation/ReposCreationGitea.ps1 b/ApiGit/ReposCreation/ReposCreationGitea.ps1 index deb0afb..db0cab1 100644 --- a/ApiGit/ReposCreation/ReposCreationGitea.ps1 +++ b/ApiGit/ReposCreation/ReposCreationGitea.ps1 @@ -12,25 +12,45 @@ $startTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss") # avvio stopwatch $mainStopWatch = [system.diagnostics.stopwatch]::StartNew() #contatore ciclo do while -$projectCount = 200 +$startProj = 1 #numero massimo di progetti da analizzare -$projectNumber = 250 +$endProj = 250 #nome file di log $logFile = "GiteaReposCreation.log" +#nome file di log old +$oldLogFile = "GiteaReposCreation.old" -#creazione folder di Log se non già esistente -if (Test-Path $logFolder) { +#gitea di destinazione +#$target = "steamware" +$target = "nembro" + +#creazione folder di Log se non esiste +CheckLogFolder + +#rotazione vecchio logFile da .log a .old se esiste +RotateOldLog + +if ($target = "steamware"){ +#destinazione mirror per gitea Steamw +$giteaDestination = $giteaSteamw +#nome utente gitea Steamw che effettua i mirror push +$giteaUser = $giteaSteamwUser +#autenticazione replica gitea Steamw +$giteaPass = $giteaSteamwPass +#access token per autenticazione gitea Steamw da profilo replica +$giteaHead = $giteaSteamwHead } -else { - New-Item $logFolder -ItemType Directory +if ($target = "nembro"){ +#destinazione mirror per gitea nembro +$giteaDestination = $giteaNembro +#nome utente gitea nembro che effettua i mirror push +$giteaUser = $giteaNembroUser +#autenticazione replica gitea nembro +$giteaPass = $giteaNembroPass +#access token per autenticazione gitea nembro da profilo replica +$giteaHead = $giteaNembroHead } -#chiedo all'utente il project ID su cui lavorare -#$projectCount = Read-Host -Prompt 'Project ID per eseguire lo script: ' - -#chiedo all'utente quante volte devo ciclare sui project ID -#$projectNumber = Read-Host -Prompt 'Contatore dei Project ID su cui lavorare: ' - #scrivo intestazione e inizio analisi WriteLogOutput $logFile 0 "--------------------" Switch ($logLevel) { @@ -44,8 +64,8 @@ WriteLogOutput $logFile 0 "Percorso log: $logFolder" WriteLogOutput $logFile 0 "" WriteLogOutput $logFile 0 "Inizio Esecuzione Script: $startTime" -#ciclo principale do/while che cicla da 1 a N projectNumber -do { +#ciclo principale for che cicla da startProj a endProj +for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++){ $callGitlabUrl = "https://gitlab.steamware.net/api/v4/projects/" + $projectCount try { $gitlabResponse = Invoke-WebRequest -URI $callGitlabUrl -Headers $gitlabHead -ContentType "application/json" -UseBasicParsing @@ -56,7 +76,7 @@ do { WriteLogOutput $logFile 1 "**PROGETTO $projectCount**" foreach ($gitlabItem in $parsedGitlabResponse) { WriteLogOutput $logFile 1 "Gitlab Project Name: $($gitlabItem.name)" - $callGiteaUrl = "https://gitea.steamware.net/api/v1/orgs/Egalware/repos" + $callGiteaUrl = "https://" + $giteaDestination + "/api/v1/orgs/Egalware/repos" #dichiaro un body da convertire in JSON con il nome del repo da creare (prendo path o name a seconda delle necessità) $giteaBody = @{ @@ -88,10 +108,8 @@ do { WriteLogOutput $logFile 3 "**ERRORE NEL PROGETTO $projectCount**" WriteLogOutput $logFile 3 $($parsedError.message) } - $projectCount = $projectCount + 1 } #fine ciclo principale -while ($projectCount -le $projectNumber) # fermo stopwatch e calcolo durata script $mainStopWatch.Stop() diff --git a/ApiGit/ReposCreation/ReposCreationGogs.ps1 b/ApiGit/ReposCreation/ReposCreationGogs.ps1 index 3fab824..1095932 100644 --- a/ApiGit/ReposCreation/ReposCreationGogs.ps1 +++ b/ApiGit/ReposCreation/ReposCreationGogs.ps1 @@ -12,24 +12,19 @@ $startTime = (Get-Date).toString("yyyy/MM/dd HH:mm:ss") # avvio stopwatch $mainStopWatch = [system.diagnostics.stopwatch]::StartNew() #contatore ciclo do while -$projectCount = 200 +$startProj = 1 #numero massimo di progetti da analizzare -$projectNumber = 250 +$endProj = 250 #nome file di log $logFile = "GogsReposCreation.log" +#nome file di log old +$oldLogFile = "GogsReposCreation.old" -#creazione folder di Log se non già esistente -if (Test-Path $logFolder) { -} -else { - New-Item $logFolder -ItemType Directory -} +#creazione folder di Log se non esiste +CheckLogFolder -#chiedo all'utente il project ID su cui lavorare -#$projectCount = Read-Host -Prompt 'Project ID per eseguire lo script: ' - -#chiedo all'utente quante volte devo ciclare sui project ID -#$projectNumber = Read-Host -Prompt 'Contatore dei Project ID su cui lavorare: ' +#rotazione vecchio logFile da .log a .old se esiste +RotateOldLog #scrivo intestazione e inizio analisi WriteLogOutput $logFile 0 "--------------------" @@ -44,8 +39,8 @@ WriteLogOutput $logFile 0 "Percorso log: $logFolder" WriteLogOutput $logFile 0 "" WriteLogOutput $logFile 0 "Inizio Esecuzione Script: $startTime" -#ciclo principale do/while che cicla da 1 a N projectNumber -do { +#ciclo principale for che cicla da startProj a endProj +for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++){ $callGitlabUrl = "https://gitlab.steamware.net/api/v4/projects/" + $projectCount try { $gitlabResponse = Invoke-WebRequest -URI $callGitlabUrl -Headers $gitlabHead -ContentType "application/json" -UseBasicParsing @@ -86,10 +81,8 @@ do { WriteLogOutput $logFile 3 "**ERRORE NEL PROGETTO $projectCount**" WriteLogOutput $logFile 3 $($parsedError.message) } - $projectCount = $projectCount + 1 } #fine ciclo principale -while ($projectCount -le $projectNumber) # fermo stopwatch e calcolo durata script $mainStopWatch.Stop()