2015-11-25 12 views
7

Ho bisogno di eseguire comandi git in una fase di costruzione di TeamCity.Come configurare i comandi git autenticati SSH in un passo di costruzione TeamCity

Questi comandi git devono utilizzare un URL basato su SSH per il repository git per autenticare come utente privilegiato sul server git (poiché questi comandi git modificheranno effettivamente il repository git, non solo lo leggeranno).

Sono a conoscenza di this question.

Ho già la modalità di verifica VCS "Automaticamente su agente". La root VCS è correttamente configurata con ssh e funziona bene.

Tuttavia, come stated in the documentation, TeamCity

salva temporaneamente il tasto sul file system dell'agente e la taglia dopo git fetch/clone è completata.

Quindi, anche se TeamCity ha utilizzato correttamente la chiave SSH durante il checkout lato agente, la chiave non è intenzionalmente accessibile in seguito nella creazione.

Ma voglio davvero usare la chiave più tardi!

L'output che i comandi git generano è:

[06:12:29][Step 3/4] Permission denied (publickey). 
[06:12:29][Step 3/4] fatal: Could not read from remote repository. 
[06:12:29][Step 3/4] 
[06:12:29][Step 3/4] Please make sure you have the correct access rights 
[06:12:29][Step 3/4] and the repository exists. 

mi hanno confermato che il file known_hosts esiste e contiene le chiavi pubbliche appropriate. Ho anche confermato che lo C:\Users\systeamcityagent\.ssh non contiene alcuna chiave privata (come previsto).

Sono in esecuzione TeamCity Enterprise 9.1.3.

Qual è la soluzione consigliata per questo?

+0

Hai avuto questo lavoro? Sono in una situazione simile e sto avendo difficoltà a far funzionare l'agente ssh con il mio git push. – Bronumski

risposta

8

TeamCity 9.1 ha introdotto una nuova funzionalità chiamato SSH Agent che consente di stabilire Agente lato SSH connessioni utilizzando Server Stored chiavi SSH:

enter image description here

Vedi What´s New in TeamCity 9.1

+1

È possibile espandere la modalità di utilizzo dell'agente o della chiave nella riga di comando. Sto ancora facendo fatica a farlo funzionare. – Bronumski

+1

Controlla i [documenti ufficiali] (https://confluence.jetbrains.com/display/TCD10/SSH+Keys+Management), è molto ben spiegato lì. Avrai bisogno di una conoscenza di base delle chiavi SSH, ma questo è tutto. – Mecaveli

Problemi correlati