Domanda

Sono attualmente in esecuzione Visual Studio Team System 2010 RC e sto cercando di ottenere l'installazione Build Service per costruire la mia soluzione e distribuire 3 applicazioni web in esso. Ho creato una configurazione di generazione personalizzata denominata Integrazione e messa a punto hai il "sito Web IIS / nome dell'applicazione per l'uso sul server di destinazione" sul pacchetto scheda delle proprietà / Pubblicate per ognuna delle applicazioni web.

Nel mio Corporatura Definizione ho impostato i seguenti argomenti:

  

/ p: DeployOnBuild = True / p: DeployTarget = MSDeployPublish / p: MSDeployPublishMethod = InProc / p: MsDeployServiceUrl = http: // my-server-name: 8172 / msdeploy.axd / p: EnablePackageProcessLoggingAndAssert = true

Tuttavia, quando si esegue la compilazione ottengo il seguente errore, per tutte e tre le applicazioni web:

  

Aggiornamento setacl (MyProjectName).

     

C: \ Program Files \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.targets (3481,5): errore: un'attività di distribuzione Web non è riuscita. (Tentativo di eseguire un'operazione non autorizzata.)

Non credo che questo è il mio vero problema però. Questo errore è in corso dopo la seguente voce nel registro: Aggiornamento setacl Questo è ciò che sta causando il messaggio di errore, ma sembra che MSDeploy sta cercando di distribuire al IIS locale sul server Genera, non il server ho specificato con il parametro MsDeployServiceUrl.

Dopo aver guardato il file bersagli in C: \ Program Files \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.targets, ho aggiunto l'EnablePackageProcessLoggingAndAssert, che aggiunge la registrazione supplementare. Il registro mostra una stringa emptry per il valore di MsDeployServiceUrl. Ho anche notato nel target che MsDeployServiceUrl ha un minuscolo s, che è un po confonde perché il nome dell'attività MSDeployPublish ha una maiuscola S. Ho provato ad utilizzare utilizzando maiuscole, poi di nuovo con lettere minuscole, ma non lavorato.

Un paio di altre cose da notare:

  1. Il mio servizio di compilazione è in esecuzione come NETWORK SERVICE.
  2. Il server Sono cercando di distribuire a è su un altro dominio.
  3. Inoltre ho provato ad aggiungere / P: username = dominio \ myusername / P: password = mypassword alla lista paramter MSBuild, ma questo non ha aiutato
  4. .

Qualcuno sa se sto fornendo i parametri corretti? O fornire me con quelli corretti?

Grazie

È stato utile?

Soluzione

Dopo molti cicli di modificare i parametri, sono stato in grado di trovare una soluzione e ottenere la build per implementare con successo. I parametri che ho finito per usare sono:

/p:DeployOnBuild=True
/p:DeployTarget=MSDeployPublish 
/p:MSDeployPublishMethod=**RemoteAgent** 
/p:MsDeployServiceUrl=http://my-server-name
/p:username=myusername 
/p:password=mypassword

Sembra che quando si utilizza InProc per la MSDeployPublishMethod MSBuild ignora MsDeployServiceUrl e cerca sempre di distribuire al server locale. Ho cambiato in RemoteAgent e implementato con successo. Ho notato che il file del pacchetto è nolonger contenuta nel MyWebApplication_Package cartella, ma che non è un grosso problema per me.

Altri suggerimenti

In considerazione VS2010 è RTM'd, si potrebbe prendere in considerazione solo l'aggiornamento e vedere se il problema va via.

Per la build che Team Build è in esecuzione che file hai specificato? Se fosse un file di soluzione poi solo di passaggio le proprietà in esso non significa che essi sono poi propagati a ciascun file di progetto quando costruito. Quando si crea file di soluzione, solo un insieme limitato di proprietà vengono passati ai progetti in fase di costruzione. Se questo è il caso si dovrebbe creare un file .proj che essenzialmente sostituire il file di soluzione e passare queste proprietà.

Recentemente ho bloggato su come rimpiazzare il file di soluzione con un file MSBuild .

Fammi sapere se questo non si applica a voi o non ti aiuta.

FYI si potrebbe anche essere interessato a questo altro thread su MSDeploy, ma la sua non lo stesso problema vostro avere qui. Come posso ottenere TFS2010 per eseguire MSDeploy per me attraverso MSBUILD? .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top