Aracılığıyla paylaş


FileTransform@2 - Dosya dönüştürme v2 görevi

Belirteçleri XML veya JSON yapılandırma dosyalarındaki değişken değerlerle değiştirmek için bu görevi kullanın.

Syntax

# 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.

Girişler

folderPath - Paket veya klasör
string. Gereklidir. Varsayılan değer: $(System.DefaultWorkingDirectory)/**/*.zip.

Paket veya klasörün dosya yolu.

Değişkenler Derleme ve Yayın'dır. Joker karakterler desteklenir.

Örneğin, $(System.DefaultWorkingDirectory)/**/*.zip. Sıkıştırılmış klasörler için içerik TEMP konumuna ayıklanır, dönüşümler yürütülür ve sonuçlar özgün yapıt konumuna daraltılır.


xmlTransformationRules - XML Dönüştürme kuralları
string. Varsayılan değer: -transform **\*.Release.config -xml **\*.config.

Şu söz dizimini kullanarak dönüşüm dosyası kurallarının satır içinde ayrılmış yeni bir listesini sağlar: -transform <pathToTransformFile> -xml <pathToSourceConfigurationFile>. Sonuç dosyası yolu isteğe bağlıdır ve belirtilmezse kaynak yapılandırma dosyası dönüştürülmüş sonuç dosyasıyla değiştirilir.


jsonTargetFiles - JSON hedef dosyaları
string.

Değişken değerlerinin yerini almak için yeni bir satırla ayrılmış dosya listesi sağlar. Dosya adları kök klasöre göre sağlanacaktır.

Örneğin, aşağıdaki örnekteki değerini ConnectionString değiştirmek için derleme veya yayın işlem hattında (veya yayın işlem hattının ortamında) olduğu gibi Data.DefaultConnection.ConnectionString bir değişken tanımlamanız gerekir.

{
  "Data": {
    "DefaultConnection": {
      "ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
    }
  }
}

Değişken Değiştirme, yapılandırma dönüşümlerinden sonra çalıştırılır.

Not: Değiştirmede yalnızca derleme/yayın işlem hatlarında tanımlanan özel değişkenler kullanılır. Varsayılan/sistem tanımlı işlem hattı değişkenleri dışlanır. Yayın işlem hattında ve aşamasında aynı değişkenler tanımlanmışsa, aşama değişkenleri yayın işlem hattı değişkenlerinin yerini alır.


xmlTargetFiles - XML hedef dosyaları
string.

Değişken değerlerinin yerini almak için yeni bir satırla ayrılmış dosya listesi sağlar. Dosya adları kök klasöre göre sağlanacaktır.

XML için, derleme veya yayın işlem hatlarında tanımlanan değişkenler, ve yapılandırma dosyalarının keyparameters.xml, ve connectionStrings bölümlerindeki appSettingsapplicationSettingsveya name girdileriyle eşleştirilir.

Değişken Değiştirme, yapılandırma dönüşümlerinden sonra çalıştırılır.

Not: Değiştirmede yalnızca derleme/yayın işlem hatlarında tanımlanan özel değişkenler kullanılır. Varsayılan/sistem tanımlı işlem hattı değişkenleri dışlanır. Yayın işlem hattında ve aşamasında aynı değişkenler tanımlanmışsa, aşama değişkenleri yayın işlem hattı değişkenlerinin yerini alır.


Görev denetimi seçenekleri

Tüm görevlerin, görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz . Denetim seçenekleri ve ortak görev özellikleri.

Çıkış değişkenleri

Yok.

Açıklamalar

Dosya Dönüştürme sürüm 2'deki yenilikler:

  • Kullanıcıların tek bir görev örneğinde dönüştürme (XML), değişken değiştirme (JSON ve XML) özelliklerinin herhangi birini/tümünü etkinleştirmesine olanak tanıyan daha iyileştirilmiş görev alanları.
  • Yapılandırılan dönüştürme/değiştirmeden herhangi biri uygulanmadığında veya görev işlem yapılmadığında görev başarısız olur.

Yapılandırma ve parametre dosyalarına dosya dönüştürmeleri ve değişken değiştirmeleri uygulamak için bu görevi kullanın. Çevirilerin nasıl işlendiği hakkında ayrıntılı bilgi için bkz. Dosya dönüştürmeleri ve değişken değiştirme başvurusu.

Önemli

Bu görev web paketleri için tasarlanmıştır ve bir web paketi dosyası gerektirir. Tek başına JSON dosyalarında çalışmaz.

Dosya dönüştürmeleri

  • Şu anda dosya dönüştürmeleri yalnızca XML dosyaları için desteklenmektedir.
  • Yapılandırma dosyalarına XML dönüşümü uygulamak için (*.config) söz dizimini kullanarak yeni satırla ayrılmış dönüştürme dosyası kuralları listesi belirtmeniz gerekir:-t ransform <path to the transform file> -xml <path to the source file> -result <path to the result file>
  • Dosya dönüştürmeleri, özellikle bir App service'e dağıtım yaparken ve standart Web.config Dönüştürme Söz Dizimini izleyerek farklı ortamlar (Geliştirme, Test veya Üretim gibi) için yapılandırma eklemek, kaldırmak veya değiştirmek istediğinizde birçok senaryoda yararlıdır.
  • Konsol veya Windows hizmet uygulaması yapılandırma dosyaları da dahil olmak üzere diğer dosyaları (örneğin, FabrikamService.exe.config) dönüştürmek için de bu işlevi kullanabilirsiniz.
  • Yapılandırma dosyası dönüştürmeleri değişken değiştirmelerinden önce çalıştırılır.

Değişken değiştirme

  • Şu anda değişken değiştirme için yalnızca XML ve JSON dosya biçimleri desteklenmektedir.
  • Hedef yapılandırma dosyalarında tanımlanan belirteçler güncelleştirilir ve ardından değişken değerlerle değiştirilir.
  • Değişken değiştirmeleri, yapılandırma dosyası dönüştürmelerinden sonra çalıştırılır.
  • Değişken değiştirme yalnızca nesne hiyerarşisinde önceden tanımlanmış JSON anahtarları için uygulanır. Yeni anahtarlar oluşturmaz.

Not

Değiştirmede yalnızca derleme ve yayın işlem hatlarında tanımlanan özel değişkenler kullanılır. Varsayılan ve sistem işlem hattı değişkenleri dışlanır.

Şu anda dışlanan ön eklerin listesi aşağıdadır:

  • agent.
  • azure_http_user_agent
  • build.
  • common.
  • release.
  • system.
  • tf_

Aynı değişkenler hem yayın işlem hattında hem de bir aşamada tanımlanırsa, aşama tanımlı değişkenler işlem hattı tanımlı değişkenlerin yerini alır.

Ayrıca bkz. Dosya dönüştürmeleri ve değişken değiştirme başvurusu.

Örnekler

deseni .Production.configile adlandırılan tüm yapılandırma dosyalarında XML dönüştürmesinin çalıştırılması gerekiyorsa, dönüştürme kuralı şu şekilde belirtilmelidir:

-transform **\*.Production.config -xml **\*.config

İşlem hattınızdaki aşama adına göre adlı bir yapılandırma dosyanız varsa şunları kullanabilirsiniz:

-transform **\*.$(Release.EnvironmentName).config -xml **\*.config

İç içe veya hiyerarşik JSON değişkenlerini değiştirmek için JSONPath ifadelerini kullanarak bunları belirtin. Örneğin, aşağıdaki örnekteki ConnectionString değerini değiştirmek için, derleme veya yayın işlem hattında (veya yayın işlem hattındaki bir aşamada) olduğu gibi Data.DefaultConnection.ConnectionString bir değişken tanımlamanız gerekir.

{
  "Data": {
    "DefaultConnection": {
      "ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
    }
  }
}

Gereksinimler

Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme, Klasik sürüm
Üzerinde çalıştırılır Agent, DeploymentGroup
Talep Hiçbiri
Özellikler Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz.
Komut kısıtlamaları Herhangi biri
Ayarlanabilir değişkenler Herhangi biri
Aracı sürümü Desteklenen tüm aracı sürümleri.
Görev kategorisi Yardımcı Program

Ayrıca bkz.