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 key
parameters.xml
, ve connectionStrings
bölümlerindeki appSettings
applicationSettings
veya 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.config
ile 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 |