dd238121b3
Sistema CI locale basato su VMware Workstation + Gitea Actions + act_runner. Testato e2e con nsis-plugin-nsinnounp (MSBuild + Python, 4 configurazioni parallele). - scripts/: Invoke-CIJob, Invoke-RemoteBuild, New/Remove-BuildVM, Wait-VMReady, Get-BuildArtifacts - runner/: act_runner config (windows-build label, capacity 4) - gitea/workflows/: build-nsis.yml (template per progetti MSBuild/Python) - template/: script di provisioning template VM (VS BuildTools 2026, .NET SDK 10, Python 3.13) - docs/: ARCHITECTURE, CI-FLOW, OPTIMIZATION, BEST-PRACTICES, Setup-GiteaSSH Verificato: e2e-009 SUCCESS in 02:09, cleanup automatico VM confermato.
2.4 KiB
2.4 KiB
Configurazione accesso SSH a Gitea
Target: clone da git@gitea.emulab.it:Simone/nsis-plugin-nsinnounp.git
Gitea: http://10.10.20.11:3100 / https://gitea.emulab.it
1. Genera la chiave SSH sull'host Windows
# Da PowerShell normale (non admin necessario)
ssh-keygen -t ed25519 -C "ci-build@WS1-W11" -f "$env:USERPROFILE\.ssh\id_ci_gitea"
- Passphrase: lascia vuota (il CI gira non-interattivo)
- Produce due file:
~\.ssh\id_ci_gitea— chiave privata (non condividere mai)~\.ssh\id_ci_gitea.pub— chiave pubblica da aggiungere a Gitea
2. Aggiungi la chiave pubblica a Gitea
- Apri
http://10.10.20.11:3100→ Login come Simone - Menu utente (in alto a destra) → Settings → SSH / GPG Keys
- Clicca Add Key
- Incolla il contenuto di
~\.ssh\id_ci_gitea.pub:
Get-Content "$env:USERPROFILE\.ssh\id_ci_gitea.pub" | clip
- Key Name:
WS1-CI-Host - Salva → Add Key
3. Configura SSH client sull'host
Attenzione:
10.10.20.11è già usato nel file~\.ssh\configconUser root(entryHomeAssistant). Non usareHost 10.10.20.11direttamente — usare un alias dedicatogitea-ci.
Aggiungi in fondo a ~\.ssh\config:
$entry = @"
Host gitea-ci
HostName 10.10.20.11
Port 2222
User git
IdentityFile $env:USERPROFILE\.ssh\id_ci_gitea
IdentitiesOnly yes
"@
Add-Content "$env:USERPROFILE\.ssh\config" $entry
4. Verifica connessione
ssh -T gitea-ci
Risposta attesa:
Hi there, Simone! You've successfully authenticated with the key named ci-build@WS1-W11, but Gitea does not provide shell access.
Nota: exit code 1 è normale — Gitea non fornisce shell, ma l'autenticazione è avvenuta.
5. Trova la porta SSH di Gitea
Porta confermata: 2222 (verificata con Test-NetConnection -ComputerName 10.10.20.11 -Port 2222).
6. URL SSH da usare in Invoke-CIJob.ps1
Usare l'alias gitea-ci definito in ~\.ssh\config:
-RepoUrl 'ssh://gitea-ci/Simone/nsis-plugin-nsinnounp.git'
Oppure con IP/porta espliciti (equivalente):
-RepoUrl 'ssh://git@10.10.20.11:2222/Simone/nsis-plugin-nsinnounp.git'
7. Aggiungi host a known_hosts (evita prompt interattivo)
ssh-keyscan -p 2222 10.10.20.11 >> "$env:USERPROFILE\.ssh\known_hosts"