Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use essa tarefa para substituir tokens por valores variáveis em arquivos de configuração XML ou JSON.
Sintaxe
# 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.
Entradas
pacote folderPath
- ou de pasta
string
. Necessário. Valor padrão: $(System.DefaultWorkingDirectory)/**/*.zip
.
Caminho do arquivo para o pacote ou uma pasta.
As variáveis são
Por exemplo, $(System.DefaultWorkingDirectory)/**/*.zip
. Para pastas compactadas, o conteúdo é extraído para o local TEMP, transformações executadas e os resultados compactados no local do artefato original.
enableXmlTransform
-
de transformação XML
boolean
. Valor padrão: true
.
As transformações de configuração serão executadas antes da Substituição variável.
Importante
As transformações XML têm suporte apenas para a plataforma Windows.
xmlTransformationRules
-
regras de transformação XML
string
. Opcional. Use quando enableXmlTransform == true
. Valor padrão: -transform **\*.Release.config -xml **\*.config
.
Fornece uma nova lista separada por linha de regras de arquivo de transformação usando a sintaxe: -transform <pathToTransformFile> -xml <pathToSourceConfigurationFile>
. O caminho do arquivo de resultado é opcional e, se não for especificado, o arquivo de configuração de origem será substituído pelo arquivo de resultado transformado.
xmlTransformationRules
-
regras de transformação XML
string
. Valor padrão: -transform **\*.Release.config -xml **\*.config
.
Fornece uma nova lista separada por linha de regras de arquivo de transformação usando a sintaxe: -transform <pathToTransformFile> -xml <pathToSourceConfigurationFile>
. O caminho do arquivo de resultado é opcional e, se não for especificado, o arquivo de configuração de origem será substituído pelo arquivo de resultado transformado.
jsonTargetFiles
-
arquivos de destino JSON
string
.
Fornece uma nova lista de arquivos separados por linha para substituir os valores de variável. Os nomes de arquivo devem ser fornecidos em relação à pasta raiz.
Por exemplo, para substituir o valor de no arquivo de exemplo abaixo, você precisa definir uma variável como ConnectionString
no pipeline de Data.DefaultConnection.ConnectionString
build ou lançamento (ou no ambiente do pipeline de lançamento).
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
A Substituição de Variável é executada após transformações de configuração.
Observação: somente variáveis personalizadas definidas em pipelines de build/versão são usadas na substituição. As variáveis de pipeline definidas pelo sistema/padrão são excluídas. Se as mesmas variáveis forem definidas no pipeline de lançamento e no estágio, as variáveis de estágio substituirão as variáveis de pipeline de versão.
xmlTargetFiles
-
arquivos de destino XML
string
.
Fornece uma nova lista de arquivos separados por linha para substituir os valores de variável. Os nomes de arquivo devem ser fornecidos em relação à pasta raiz.
Para XML, as variáveis definidas nos pipelines de build ou versão serão correspondidas às entradas key
ou name
nas seções appSettings
, applicationSettings
e connectionStrings
de qualquer arquivo de configuração e parameters.xml
.
A Substituição de Variável é executada após transformações de configuração.
Observação: somente variáveis personalizadas definidas em pipelines de build/versão são usadas na substituição. As variáveis de pipeline definidas pelo sistema/padrão são excluídas. Se as mesmas variáveis forem definidas no pipeline de lançamento e no estágio, as variáveis de estágio substituirão as variáveis de pipeline de versão.
errorOnInvalidSubstitution
-
Erro em arquivos vazios e substituição inválida.
boolean
. Valor padrão: false
.
Se selecionado, o pipeline falhará se os arquivos de destino estiverem vazios ou se a substituição falhar.
Opções de controle de tarefa
Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.
Variáveis de saída
Nenhum.
Observações
Novidades na Transformação de Arquivo versão 2:
- Campos de tarefa mais otimizados que permitem que os usuários habilitem qualquer/todos os recursos de transformação (XML), JSON e XML (substituição variável) em uma única instância de tarefa.
- A tarefa falha quando qualquer uma das transformações/substituições configuradas não é aplicada ou quando a tarefa é no-op.
Use essa tarefa para aplicar transformações de arquivo e substituições de variáveis em arquivos de configuração e parâmetros. Para obter detalhes de como as traduções são processadas, consulte Transformações de arquivo e referência de substituição variável.
Importante
Essa tarefa destina-se a pacotes Web e requer um arquivo de pacote da Web. Ele não funciona em arquivos JSON autônomos.
Transformações de arquivo
- Atualmente, as transformações de arquivo têm suporte apenas para arquivos XML.
- Para aplicar uma transformação XML a arquivos de configuração (*.config) você deve especificar uma lista separada por nova linha de regras de arquivo de transformação usando a sintaxe:
-transform <path to the transform file> -xml <path to the source file> -result <path to the result file>
- As transformações de arquivo são úteis em muitos cenários, especialmente quando você está implantando em um serviço de aplicativo e deseja adicionar, remover ou modificar configurações para ambientes diferentes (como Desenvolvimento, Teste ou Prod) seguindo a sintaxe de transformação Web.config padrão.
- Você também pode usar essa funcionalidade para transformar outros arquivos, incluindo arquivos de configuração de aplicativo de serviço do Console ou do Windows (por exemplo,
FabrikamService.exe.config
). - As transformações de arquivo de configuração são executadas antes das substituições de variáveis.
Substituição de variável
- Atualmente, há suporte apenas para formatos de arquivo XML e JSON para substituição de variável.
- Os tokens definidos nos arquivos de configuração de destino são atualizados e substituídos por valores variáveis.
- As substituições variáveis são executadas após transformações de arquivo de configuração.
- A substituição de variável é aplicada apenas para as chaves JSON predefinidas na hierarquia de objetos. Ele não cria novas chaves.
Nota
Somente variáveis personalizadas definidas em pipelines de build e lançamento são usadas na substituição. As variáveis de pipeline padrão e do sistema são excluídas.
Aqui está uma lista de prefixos excluídos no momento:
agent.
azure_http_user_agent
build.
common.
release.
system.
tf_
Se as mesmas variáveis forem definidas no pipeline de lançamento e em um estágio, as variáveis definidas pelo estágio substituirão as variáveis definidas pelo pipeline.
Veja também: Transformações de arquivo e referência de substituição variável.
Exemplos
Se você precisar que a transformação XML seja executada em todos os arquivos de configuração nomeados com o padrão .Production.config
, a regra de transformação deverá ser especificada como:
-transform **\*.Production.config -xml **\*.config
Se você tiver um arquivo de configuração nomeado com base no nome do estágio em seu pipeline, poderá usar:
-transform **\*.$(Release.EnvironmentName).config -xml **\*.config
Para substituir variáveis JSON aninhadas ou hierárquicas, especifique-as usando expressões JSONPath.
Por exemplo, para substituir o valor de ConnectionString no exemplo abaixo, você deve definir uma variável como Data.DefaultConnection.ConnectionString
no pipeline de build ou lançamento (ou em um estágio dentro do pipeline de lançamento).
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
Requisitos
Requisito | Descrição |
---|---|
Tipos de pipeline | YAML, build clássico, versão clássica |
Execuções em | Agente, DeploymentGroup |
de demandas |
Nenhum |
recursos | Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho. |
restrições de comando | Qualquer |
variáveis settable | Qualquer |
Versão do agente | Todas as versões de agente com suporte. |
Categoria de tarefa | Utilidade |