2016-04-11 40 views
6

Utilizzo Gestione aggiornamento versione 2 di TFS 2015 (ad esempio, la scheda "Rilascio") e ho la mia generazione che inserisce l'output desiderato in una posizione di rilascio della condivisione file. Assomiglia a:Impedire il download di artefatti non necessari quando si utilizza Gestione rilasci

/Drop 
--> /App 1 
--> /App 2 
--> /App 3 

La mia definizione di versione ha un'attività di PowerShell per distribuire ciascuna applicazione. Questo funziona alla grande, e poiché ognuna delle app di cui sopra (App 1, App 2, App 3) sono tutte definite come artefatti, ottengo una buona selezione del percorso quando apro la finestra di dialogo Artifacts collegate quando trovo lo script di PowerShell da eseguire.

Il problema si verifica quando VSOAgent esegue la distribuzione su un determinato server di distribuzione, scarica TUTTE le risorse associate per l'intera definizione di rilascio, indipendentemente dal fatto che vengano utilizzate. Quindi, se ho una sola attività PowerShell che fa riferimento all'App 1, ottengo anche l'App 2 e l'App 3.

Nel mio caso, la mia build risulta in dozzine di artefatti, solo il 20% dei quali viene distribuito in qualsiasi ambiente. Quindi sto scaricando un TON di cose che non mi servono. In effetti, questo significa qualcosa che dovrebbe prendere (e DID prendere nella vecchia Gestione delle Release) forse 5 minuti ora impiegano 20 minuti solo per scaricare gli artefatti.

C'è un modo per impedirlo?

+0

Quali attività sono presenti nella definizione di rilascio? – chief7

+0

È possibile utilizzare l'attività Copia file macchina di Windows per copiare solo ciò che è necessario su un nodo di destinazione e quindi utilizzare WinRM per eseguire la distribuzione localmente? Qualcosa come [questo] (https://msdn.microsoft.com/en-us/library/vs/alm/release/examples/other-servers/net-to-vm). –

+0

Perché non archiviare le risorse in "Server" in modo che siano collegate alla Build, invece di memorizzarle in una condivisione file? – BrettJ

risposta

3

Release Management scarica tutti gli elementi pubblicati dalla definizione build selezionata per impostazione predefinita. Non ci sono impostazioni per configurare questo per ora. È possibile inviare una richiesta di funzionalità su VSTS User Voice.

+2

Fatto. Grazie. https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/13396200-only-download-artifacts-required-for-task-executio – RMD

2

Non so se è disponibile in TFS 2015 Update 2 Release Management dal momento che abbiamo già trasferiti per aggiornare 3 , ma con Update 3 puoi impostarlo a livello di Ambiente.

  1. su una definizione Ambiente fare clic sul elipsis (...)
  2. scegliere l'opzione di menù "Configurazione variabili ..."
  3. Nella finestra di dialogo selezionare la scheda "Generale"
  4. Toggle check- box "Skip artefacts download"

Non ho accesso a TFS 2015 Update 2, quindi dovresti provarlo. Una volta eseguita questa operazione è possibile aggiungere attività per archiviare manualmente le risorse necessarie.

+2

Posso confermare che TFS 2017 ha questa funzione. All'interno del tuo rilascio e nell'ambiente in cui si trovano le tue attività, se fai clic su "Esegui su agente" c'è in realtà un set di opzioni. Sotto opzioni aggiuntive è presente la casella di controllo per il download di Skip artefacts. So che la domanda era specifica per VSTS2015, ma spero che questa informazione sia utile per quelli come me che hanno faticato a trovare l'opzione nel 2017. – ncarmona