Domanda

Ho un server di build all'interno del nostro dominio (e deve essere perché parla anche con altre caselle nel dominio) e un server web che si trova nella DMZ.

Come parte dei nostri script di build, vorrei distribuire siti Web al server Web nella DMZ, utilizzando l'attività di copia Nant. Il problema è che Nant viene richiamato da TeamCity che viene eseguito con l'account di sistema sul server di compilazione e non è possibile trovare un modo per consentire all'account di sistema del server di build di accedere alle directory del server Web DMZ. (Probabilmente non è una buona idea comunque).

Esiste un modo per dire a Nant di eseguire un'attività specifica con un altro utente di Windows o c'è un'altra soluzione al mio problema?

Modifica: Un'altra restrizione in corso è che non riesco a creare nuovi account di dominio (beh, almeno non senza passare attraverso un processo di approvazione). Posso creare account di macchine locali, ma in quel caso, non sembra che le rune funzionino attraverso la DMZ.

È stato utile?

Soluzione

Un paio di opzioni potrebbero essere:

  1. Utilizza Simple Command Runner per eseguire qualcosa come runas , specificando nant.exe in esecuzione con un altro account utente .
  2. Cambia l'account in cui viene eseguito il server TeamCity; come un utente con privilegi limitati che ha accesso a DMZ.
  3. Tentativo di utilizzare <scp > (copia protetta) fornito da NAntContrib .
  4. Utilizza il nant <exec > per chiamare un programma ftp, che posiziona i file su DMZ.

Speriamo che questo possa dare un piccolo aiuto. Buona fortuna!

Altri suggerimenti

è possibile utilizzare il remote PowerShell per estrarre le versioni dal server di compilazione. Il server sarebbe meno vulnerabile di se si dovesse usare un rilascio push come una copia di file.

Lo sto facendo con un'app personalizzata che accede a teamcity e scarica artefatti e quindi si distribuisce usando PowerShell localmente.

scroll top