Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Usare questa attività per sostituire i token con valori variabili nei file di configurazione XML o JSON.
Sintassi
# File transform v2
# Replace tokens with variable values in XML or JSON configuration files.
- task: FileTransform@2
inputs:
folderPath: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#enableXmlTransform: true # boolean. XML transformation. Default: true.
#xmlTransformationRules: '-transform **\*.Release.config -xml **\*.config' # string. Optional. Use when enableXmlTransform == true. XML Transformation rules. Default: -transform **\*.Release.config -xml **\*.config.
#errorOnInvalidSubstitution: false # boolean. Error on empty files and invalid substitution. Default: false.
# Variable Substitution
#jsonTargetFiles: # string. JSON target files.
#xmlTargetFiles: # string. XML target files.
# File transform v2
# Replace tokens with variable values in XML or JSON configuration files.
- task: FileTransform@2
inputs:
folderPath: '$(System.DefaultWorkingDirectory)/**/*.zip' # string. Required. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.zip.
#xmlTransformationRules: '-transform **\*.Release.config -xml **\*.config' # string. XML Transformation rules. Default: -transform **\*.Release.config -xml **\*.config.
# Variable Substitution
#jsonTargetFiles: # string. JSON target files.
#xmlTargetFiles: # string. XML target files.
Ingressi
folderPath
-
pacchetto o cartella
string
. Obbligatorio. Valore predefinito: $(System.DefaultWorkingDirectory)/**/*.zip
.
Percorso del file del pacchetto o di una cartella.
Le variabili sono build e Release. Sono supportati caratteri jolly.
Ad esempio, $(System.DefaultWorkingDirectory)/**/*.zip
. Per le cartelle compresse, il contenuto viene estratto nel percorso TEMP, le trasformazioni eseguite e i risultati compressi nella posizione originale dell'artefatto.
enableXmlTransform
-
trasformazione XML
boolean
. Valore predefinito: true
.
Le trasformazioni di configurazione verranno eseguite prima della sostituzione delle variabili.
Importante
Le trasformazioni XML sono supportate solo per la piattaforma Windows.
xmlTransformationRules
-
regole di trasformazione XML
string
. Opzionale. Usare quando enableXmlTransform == true
. Valore predefinito: -transform **\*.Release.config -xml **\*.config
.
Fornisce un elenco delimitato da nuova riga di regole del file di trasformazione usando la sintassi: -transform <pathToTransformFile> -xml <pathToSourceConfigurationFile>
. Il percorso del file di risultato è facoltativo e, se non specificato, il file di configurazione di origine verrà sostituito con il file di risultati trasformato.
xmlTransformationRules
-
regole di trasformazione XML
string
. Valore predefinito: -transform **\*.Release.config -xml **\*.config
.
Fornisce un elenco delimitato da nuova riga di regole del file di trasformazione usando la sintassi: -transform <pathToTransformFile> -xml <pathToSourceConfigurationFile>
. Il percorso del file di risultato è facoltativo e, se non specificato, il file di configurazione di origine verrà sostituito con il file di risultati trasformato.
jsonTargetFiles
-
file di destinazione JSON
string
.
Fornisce un elenco di file delimitato da nuova riga per sostituire i valori delle variabili. I nomi di file devono essere forniti in relazione alla cartella radice.
Ad esempio, per sostituire il valore di ConnectionString
nel file di esempio seguente, è necessario definire una variabile come Data.DefaultConnection.ConnectionString
nella pipeline di compilazione o di versione (o nell'ambiente della pipeline di versione).
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
La sostituzione delle variabili viene eseguita dopo le trasformazioni di configurazione.
Nota: solo le variabili personalizzate definite nelle pipeline di compilazione/versione vengono usate in sostituzione. Le variabili della pipeline predefinite/definite dal sistema vengono escluse. Se le stesse variabili sono definite nella pipeline di versione e nella fase, le variabili di fase supereranno le variabili della pipeline di versione.
xmlTargetFiles
-
file di destinazione XML
string
.
Fornisce un elenco di file delimitato da nuova riga per sostituire i valori delle variabili. I nomi di file devono essere forniti in relazione alla cartella radice.
Per XML, le variabili definite nelle pipeline di compilazione o versione verranno confrontate con le voci key
o name
nelle sezioni appSettings
, applicationSettings
e connectionStrings
di qualsiasi file di configurazione e parameters.xml
.
La sostituzione delle variabili viene eseguita dopo le trasformazioni di configurazione.
Nota: solo le variabili personalizzate definite nelle pipeline di compilazione/versione vengono usate in sostituzione. Le variabili della pipeline predefinite/definite dal sistema vengono escluse. Se le stesse variabili sono definite nella pipeline di versione e nella fase, le variabili di fase supereranno le variabili della pipeline di versione.
errorOnInvalidSubstitution
-
Errore su file vuoti e sostituzione non valida.
boolean
. Valore predefinito: false
.
Se questa opzione è selezionata, la pipeline ha esito negativo se i file di destinazione sono vuoti o se la sostituzione ha esito negativo.
Opzioni di controllo attività
Tutte le attività hanno opzioni di controllo oltre ai relativi input di attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.
Variabili di output
Nessuno.
Osservazioni
Novità di Trasformazione file versione 2:
- Campi attività più ottimizzati che consentono agli utenti di abilitare qualsiasi/tutte le funzionalità di trasformazione (XML), sostituzione di variabili (JSON e XML) in una singola istanza di attività.
- L'attività ha esito negativo quando una delle trasformazioni/sostituzioni configurate NON viene applicata o quando l'attività viene no-op.
Usare questa attività per applicare trasformazioni di file e sostituzioni di variabili nei file di configurazione e parametri. Per informazioni dettagliate sull'elaborazione delle traduzioni, vedere Trasformazioni di file e riferimento alla sostituzione delle variabili.
Importante
Questa attività è destinata ai pacchetti Web e richiede un file di pacchetto Web. Non funziona nei file JSON autonomi.
Trasformazioni di file
- Attualmente, le trasformazioni di file sono supportate solo per i file XML.
- Per applicare una trasformazione XML ai file di configurazione (*.config) è necessario specificare un elenco di regole dei file di trasformazione separate da una nuova riga usando la sintassi
-transform <path to the transform file> -xml <path to the source file> -result <path to the result file>
- Le trasformazioni dei file sono utili in molti scenari, in particolare quando si esegue la distribuzione in un servizio app e si vogliono aggiungere, rimuovere o modificare configurazioni per ambienti diversi ( ad esempio Sviluppo, Test o Prod) seguendo la sintassi standard della trasformazione Web.config.
- È anche possibile usare questa funzionalità per trasformare altri file, inclusi i file di configurazione dell'applicazione del servizio Console o Windows (ad esempio,
FabrikamService.exe.config
). - Le trasformazioni dei file di configurazione vengono eseguite prima delle sostituzioni delle variabili.
Sostituzione di variabili
- Attualmente sono supportati solo i formati di file XML e JSON per la sostituzione delle variabili.
- I token definiti nei file di configurazione di destinazione vengono aggiornati e quindi sostituiti con i valori delle variabili.
- Le sostituzioni di variabili vengono eseguite dopo le trasformazioni del file di configurazione.
- La sostituzione delle variabili viene applicata solo per le chiavi JSON predefinite nella gerarchia degli oggetti. Non crea nuove chiavi.
Nota
Solo le variabili personalizzate definite nelle pipeline di compilazione e versione vengono usate in sostituzione. Le variabili della pipeline di sistema e predefinite vengono escluse.
Ecco un elenco di prefissi attualmente esclusi:
agent.
azure_http_user_agent
build.
common.
release.
system.
tf_
Se le stesse variabili sono definite sia nella pipeline di versione che in una fase, le variabili definite dalla fase sostituisce le variabili definite dalla pipeline.
Vedere anche: trasformazioni di file e riferimento alla sostituzione delle variabili.
Esempi
Se è necessaria la trasformazione XML da eseguire in tutti i file di configurazione denominati con pattern .Production.config
, la regola di trasformazione deve essere specificata come:
-transform **\*.Production.config -xml **\*.config
Se nella pipeline è presente un file di configurazione denominato in base al nome della fase, è possibile usare:
-transform **\*.$(Release.EnvironmentName).config -xml **\*.config
Per sostituire le variabili JSON annidate o gerarchiche, specificarle usando espressioni JSONPath.
Ad esempio, per sostituire il valore di ConnectionString nell'esempio seguente, è necessario definire una variabile come Data.DefaultConnection.ConnectionString
nella pipeline di compilazione o versione (o in una fase all'interno della pipeline di versione).
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
Fabbisogno
Requisito | Descrizione |
---|---|
Tipi di pipeline | YAML, build classica, versione classica |
Viene eseguito in | Agente, DeploymentGroup |
richieste | Nessuno |
funzionalità di |
Questa attività non soddisfa alcuna richiesta di attività successive nel processo. |
restrizioni dei comandi | Qualunque |
variabili impostabili | Qualunque |
Versione dell'agente | Tutte le versioni dell'agente supportate. |
Categoria attività | Utilità |