Implementazione gestione gitea-nembro
This commit is contained in:
@@ -98,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 ""
|
||||
|
||||
@@ -58,9 +58,13 @@ for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++) {
|
||||
#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") {
|
||||
|
||||
@@ -25,12 +25,37 @@ $logFile = "GitlabMirroringGitea.log"
|
||||
#nome file di log old
|
||||
$oldLogFile = "GitlabMirroringGitea.old"
|
||||
|
||||
#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
|
||||
}
|
||||
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
|
||||
WriteLogOutput $logFile 0 "--------------------"
|
||||
Switch ($logLevel) {
|
||||
@@ -60,8 +85,7 @@ for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++){
|
||||
$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 @@ for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++){
|
||||
#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 =
|
||||
@{
|
||||
|
||||
@@ -31,20 +31,24 @@ CheckLogFolder
|
||||
RotateOldLog
|
||||
|
||||
if ($target = "steamware"){
|
||||
#destinazione mirror per gitea
|
||||
#destinazione mirror per gitea Steamw
|
||||
$giteaDestination = $giteaSteamw
|
||||
#nome utente gitea che effettua i mirror push
|
||||
#nome utente gitea Steamw che effettua i mirror push
|
||||
$giteaUser = $giteaSteamwUser
|
||||
#autenticazione replica gitea
|
||||
#autenticazione replica gitea Steamw
|
||||
$giteaPass = $giteaSteamwPass
|
||||
#access token per autenticazione gitea Steamw da profilo replica
|
||||
$giteaHead = $giteaSteamwHead
|
||||
}
|
||||
if ($target = "nembro"){
|
||||
#destinazione mirror per gitea
|
||||
#destinazione mirror per gitea nembro
|
||||
$giteaDestination = $giteaNembro
|
||||
#nome utente gitea che effettua i mirror push
|
||||
#nome utente gitea nembro che effettua i mirror push
|
||||
$giteaUser = $giteaNembroUser
|
||||
#autenticazione replica gitea
|
||||
#autenticazione replica gitea nembro
|
||||
$giteaPass = $giteaNembroPass
|
||||
#access token per autenticazione gitea nembro da profilo replica
|
||||
$giteaHead = $giteaNembroHead
|
||||
}
|
||||
|
||||
#scrivo intestazione e inizio analisi
|
||||
@@ -72,7 +76,7 @@ for ($projectCount = $startProj; $projectCount -le $endProj; $projectCount++){
|
||||
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 =
|
||||
@{
|
||||
|
||||
Reference in New Issue
Block a user