FileTransform@2 – Fájlátalakítás v2 feladat
Ezzel a feladattal lecserélheti a tokeneket változó értékekre XML- vagy JSON-konfigurációs fájlokban.
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.
Bevitelek
folderPath
- Csomag vagy mappa
string
. Kötelező. Alapértelmezett érték: $(System.DefaultWorkingDirectory)/**/*.zip
.
Fájl elérési útja a csomaghoz vagy egy mappához.
A változók a buildelés és a kiadás. A helyettesítő karakterek támogatottak.
Például: $(System.DefaultWorkingDirectory)/**/*.zip
. Tömörített mappák esetén a rendszer kinyeri a tartalmat a TEMP-helyre, végrehajtja az átalakításokat, és az eredményeket az eredeti összetevő helyére tömöríti.
xmlTransformationRules
- XML-átalakítási szabályok
string
. Alapértelmezett érték: -transform **\*.Release.config -xml **\*.config
.
Az átalakítási fájlszabályok új sorba tagolt listáját tartalmazza a szintaxis használatával: -transform <pathToTransformFile> -xml <pathToSourceConfigurationFile>
. Az eredményfájl elérési útja nem kötelező, és ha nincs megadva, a forráskonfigurációs fájl lecserélődik az átalakított eredményfájlra.
jsonTargetFiles
- JSON-célfájlok
string
.
A változóértékeket helyettesítő fájlok új sorba tagolt listáját tartalmazza. A fájlneveket a gyökérmappához viszonyítva kell megadni.
Ha például az értékét ConnectionString
szeretné lecserélni az alábbi mintában, meg kell adnia egy változót Data.DefaultConnection.ConnectionString
a buildelési vagy kiadási folyamatban (vagy a kiadási folyamat környezetében).
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
A változó-helyettesítés a konfigurációátalakítások után lesz futtatva.
Megjegyzés: Csak a buildelési/kiadási folyamatokban definiált egyéni változók használhatók helyettesítésre. Az alapértelmezett/rendszer által definiált folyamatváltozók ki vannak zárva. Ha ugyanazok a változók vannak definiálva a kiadási folyamatban és a fázisban, akkor a fázisváltozók felülírják a kiadási folyamat változóit.
xmlTargetFiles
- XML-célfájlok
string
.
A változóértékeket helyettesítő fájlok új sorba tagolt listáját tartalmazza. A fájlneveket a gyökérmappához viszonyítva kell megadni.
XML esetén a buildelési vagy kiadási folyamatokban definiált key
változók a konfigurációs fájl parameters.xml
és a appSettings
, applicationSettings
és connectionStrings
szakaszában lévő vagy name
bejegyzésekkel lesznek egyezőek.
A változó-helyettesítés a konfigurációátalakítások után lesz futtatva.
Megjegyzés: A helyettesítéshez csak a build/kiadási folyamatokban meghatározott egyéni változók használhatók. Az alapértelmezett/rendszer által definiált folyamatváltozók ki vannak zárva. Ha ugyanazok a változók vannak definiálva a kiadási folyamatban és a fázisban, akkor a fázisváltozók felülírják a kiadási folyamat változóit.
Tevékenységvezérlési beállítások
A tevékenységbemeneteken kívül minden tevékenység rendelkezik vezérlési lehetőségekkel. További információ: Vezérlési beállítások és gyakori feladattulajdonságok.
Kimeneti változók
Nincsenek.
Megjegyzések
A Fájlátalakítás 2. verziójának újdonságai:
- Optimalizáltabb tevékenységmezők, amelyek lehetővé teszik, hogy a felhasználók egyetlen feladatpéldányon belül engedélyezhessék az átalakítás (XML), a változóhelyettesítés (JSON és XML) funkcióit.
- A feladat meghiúsul, ha valamelyik konfigurált átalakítás/helyettesítés NINCS alkalmazva, vagy ha a tevékenység nem működik.
Ezzel a feladatával fájlátalakításokat és változóhelyettesítéseket alkalmazhat a konfigurációs és paraméterfájlokra. A fordítások feldolgozásának részleteiért lásd: Fájlátalakítások és változóhelyettesítési referencia.
Fontos
Ez a feladat webes csomagokhoz készült, és webes csomagfájlt igényel. Önálló JSON-fájlokon nem működik.
Fájlátalakítások
- Jelenleg a fájlátalakítások csak XML-fájlok esetében támogatottak.
- Ha XML-átalakítást szeretne alkalmazni a konfigurációs fájlokra (*.config), meg kell adnia az átalakítási fájlszabályok új sorba tagolt listáját a szintaxis használatával:
-t ransform <path to the transform file> -xml <path to the source file> -result <path to the result file>
- A fájlátalakítások számos forgatókönyvben hasznosak, különösen akkor, ha egy App Service-ben végzi az üzembe helyezést, és különböző környezetek (például Dev, Test vagy Prod) konfigurációit szeretné hozzáadni, eltávolítani vagy módosítani a szabványos Web.config átalakítási szintaxis követésével.
- Ezzel a funkcióval más fájlokat is átalakíthat, például konzol- vagy Windows-szolgáltatásalkalmazás konfigurációs fájljait (például
FabrikamService.exe.config
). - A konfigurációs fájlátalakítások a változók helyettesítése előtt futnak.
Változó helyettesítése
- Jelenleg csak az XML- és JSON-fájlformátumok támogatottak a változók helyettesítéséhez.
- A célkonfigurációs fájlokban definiált jogkivonatok frissülnek, majd változóértékekre cserélődnek.
- A változó-helyettesítések a konfigurációs fájlátalakítások után lesznek futtatva.
- A változó helyettesítése csak az objektumhierarchiában előre definiált JSON-kulcsokra vonatkozik. Nem hoz létre új kulcsokat.
Megjegyzés
A helyettesítéshez csak a buildelési és kiadási folyamatokban definiált egyéni változók használhatók. Az alapértelmezett és a rendszerfolyamat-változók ki vannak zárva.
Íme a jelenleg kizárt előtagok listája:
agent.
azure_http_user_agent
build.
common.
release.
system.
tf_
Ha a kiadási folyamatban és a fázisban is ugyanazok a változók vannak definiálva, a fázis által definiált változók felülírják a folyamat által definiált változókat.
Lásd még: Fájlátalakítások és változóhelyettesítési referencia.
Példák
Ha xml-átalakításra van szüksége a mintával .Production.config
elnevezett összes konfigurációs fájlon való futtatáshoz, az átalakítási szabályt a következőképpen kell megadni:
-transform **\*.Production.config -xml **\*.config
Ha a folyamat fázisneve alapján elnevezett konfigurációs fájllal rendelkezik, a következőket használhatja:
-transform **\*.$(Release.EnvironmentName).config -xml **\*.config
A beágyazott vagy hierarchikus JSON-változók helyettesítéséhez adja meg őket JSONPath-kifejezések használatával.
Ha például az alábbi példában a ConnectionString értékét szeretné lecserélni, meg kell adnia egy változót Data.DefaultConnection.ConnectionString
a buildelési vagy kiadási folyamatban (vagy a kiadási folyamat egy szakaszában).
{
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=(localdb)\SQLEXPRESS;Database=MyDB;Trusted_Connection=True"
}
}
}
Követelmények
Követelmény | Leírás |
---|---|
Folyamattípusok | YAML, klasszikus build, klasszikus kiadás |
Futtatás: | Ügynök, DeploymentGroup |
Igények | None |
Képességek | Ez a tevékenység nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek. |
Parancskorlátozások | Bármelyik |
Változók beállítása | Bármelyik |
Ügynök verziója | Minden támogatott ügynökverzió. |
Feladatkategória | Segédprogram |