2014-09-12 8 views
13

Sto correndo il seguente errore quando provo a distribuire un sito Web azzurro tramite la distribuzione continua TFS.Implementazione continua del sito Web di Azurew - Web Deploy non può modificare il file "XXX" sulla destinazione perché è bloccato da un processo esterno

Sto usando il modello di definizione build TfvcContinousDeploymentTemplate.12.xaml.

Messaggio di eccezione: Web Deploy non può modificare il file "Antlr3.Runtime.dll" sulla destinazione perché è bloccato da un processo esterno. Per consentire il successo dell'operazione di pubblicazione, potrebbe essere necessario riavviare l'applicazione per rilasciare il blocco o utilizzare il gestore di regole AppOffline per le applicazioni .Net al successivo tentativo di pubblicazione. Ulteriori informazioni su: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FILE_IN_USE. (Tipo DeploymentDetailedException)

Ho fatto quello che è stato suggerito e ha aggiunto

<EnableMSDeployAppOffline>true</EnableMSDeployAppOffline> 

al profilo di pubblicazione, tuttavia non sta mettendo la linea app come sto ottenendo lo stesso errore.

Questa è una vista della mia definizione di build in cui è impostato per utilizzare il profilo di pubblicazione con l'impostazione offline dell'app.

enter image description here

+2

Stai usando NewRelic? – trailmax

risposta

12

è stato eseguito in una limitazione di Azure e .NET

raccomandata è di riavviare l'applicazione. Questo può essere fatto cambiando una variabile d'ambiente che a sua volta costringe a riavviare iis.

Per esempio: Nel cruscotto azzurro:

Set COR_ENABLE_PROFILING = 0 

quindi distribuire e poi di nuovo

Set COR_ENABLE_PROFILING = 1 

È possibile trovare una descrizione di questo problema here

+7

Il portale di Azure per WebApp ora dispone di un pulsante di riavvio nella parte inferiore della dashboard. – Mason240

+0

Impostiamo COR_ENABLE_PROFILING su 0 e poi otteniamo questo: Errore Attività di distribuzione Web fallita. (Web Deploy non può modificare il file "Microsoft.CodeAnalysis.CSharp.dll" sulla destinazione perché è bloccato da un processo esterno Qualsiasi idea da dove proviene? È appena iniziato dopo aver installato l'APM NewRelic. Arresta manualmente il sito da distribuire – GGleGrand

+0

Potrebbe essere che NewRelic usi questa profilazione, si ripresenta quando si spegne NewRelic e quindi si fa questa modifica? (Come @ Mason240 dice che ora c'è un pulsante di riavvio nella parte inferiore della dashboard, questo è un approccio più semplice dopo aver modificato l'impostazione del profilo) – Tikkes

4

So che questo è un vecchio argomento. Ma ho avuto questo problema e l'ho risolto in Azure.

Aggiungi MSDEPLOY_RENAME_LOCKED_FILES = 1 alle impostazioni in Azure.

Azure settings

+0

Questa è l'unica soluzione che ha funzionato per me. –

0

Se si desidera automatizzare l'arresto e l'avvio del App servizio Azure prima e dopo la distribuzione, quindi se si utilizza Visual Studio Team System, questo compito è ora disponibile out of the box (se si utilizza TFS, si prega di trovare la punta con un compito più grande mercato europeo in uno dei commenti)

per sfruttare queste attività:

  1. nella sezione di uscita di Visual Studio Team System, aggiungere un'attività al rilascio Definizione di tipo "Servizio Azure App Gestisci (ANTEPRIMA) - Avvio, Arresto, Riavvio o Slot di scambio per un Servizio app di Azure "
  2. Nell'attività creata, selezionare l'azione (per la prima attività, selezionare" Arresta servizio app ")
  3. Trascinare questa attività prima dell'attività di distribuzione e aggiungere un'attività "Avvia servizio app" dietro l'attività di distribuzione
  4. Nelle impostazioni dell'attività, è anche possibile verificare che questo sia applicato solo a uno slot specifico del Servizio app di Azure (ad es. "Stage")

Dopo aver configurato queste due attività aggiuntive, stava funzionando bene per me.

(... a proposito, VSTS Costruire e CI ora supporta anche ASP.NET NUCLEO costruisce fatto con VS2017 selezionando Agent "HOST VS 2017")

Problemi correlati