Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ezzel a feladattal lecserélheti a jogkivonatokat változó értékekre XML- vagy JSON-konfigurációs fájlokban.
Szintaxis
# 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.
Bemenetek
folderPath
-
Csomag vagy mappa
string. Szükséges. Alapértelmezett érték: $(System.DefaultWorkingDirectory)/**/*.zip.
Fájl elérési útja a csomaghoz vagy egy mappához.
A változók Build és Release. 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.
enableXmlTransform
-
XML-átalakítási
boolean. Alapértelmezett érték: true.
A konfigurációátalakítások a változóhelyettesítés előtt lesznek futtatva.
Fontos
Az XML-átalakítások csak a Windows platformon támogatottak.
xmlTransformationRules
-
XML-átalakítási szabályok
string. Szabadon választható. Használja a enableXmlTransform == true. Alapértelmezett érték: -transform **\*.Release.config -xml **\*.config.
Az átalakítási fájlszabályok új vonallal tagolt listáját tartalmazza a következő 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.
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 vonallal tagolt listáját tartalmazza a következő 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.
JSON-célfájlok jsonTargetFiles -
string.
A változóértékek helyettesítéséhez egy új, egymástól elválasztott fájllistát biztosít. A fájlneveket a gyökérmappához viszonyítva kell megadni.
Ha például le szeretné cserélni az alábbi mintafájlban szereplő értéket ConnectionString , meg kell határoznia egy változót, mint 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 fut.
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 szakaszban, akkor a fázisváltozók felülírják a kiadási folyamat változóit.
XML-célfájlok xmlTargetFiles -
string.
A változóértékek helyettesítéséhez egy új, egymástól elválasztott fájllistát biztosít. A fájlneveket a gyökérmappához viszonyítva kell megadni.
XML esetén a buildelési vagy kiadási folyamatokban definiált változók a konfigurációs fájlok és keyname, appSettingsés applicationSettings szakaszaiban szereplő connectionStrings vagy parameters.xml bejegyzésekkel lesznek egyezőek.
A változó-helyettesítés a konfigurációátalakítások után fut.
Megjegyzés: Csak a buildelési/kiadási folyamatokban definiált egyéni változók használhatók a helyettesítéshez. 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 szakaszban, akkor a fázisváltozók felülírják a kiadási folyamat változóit.
errorOnInvalidSubstitution
-
Hiba az üres fájloknál és érvénytelen helyettesítés.
boolean. Alapértelmezett érték: false.
Ha be van jelölve, a folyamat meghiúsul, ha a célfájlok üresek, vagy ha a helyettesítés meghiúsul.
Tevékenységvezérlési beállítások
Minden tevékenység a tevékenységbemeneteken kívül vezérlési lehetőségekkel is rendelkezik. További információ: Vezérlők és gyakori feladattulajdonságok.
Kimeneti változók
Egyik sem.
Megjegyzések
A Fájlátalakítás 2. verziójának újdonságai:
- Optimalizáltabb tevékenységmezők, amelyek lehetővé teszik a felhasználók számára az átalakítás (XML), a változóhelyettesítés (JSON és XML) bármely funkciójának engedélyezését egyetlen feladatpéldányban.
- A feladat meghiúsul, ha a konfigurált átalakítás/helyettesítés egyikét SEM alkalmazza, vagy ha a tevékenység no-op.
Ezzel a feladatával fájlátalakításokat és változóhelyettesítéseket alkalmazhat 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 webcsomagfájlt igényel. Nem működik önálló JSON-fájlokon.
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) az átalakítási fájlszabályok új vonallal tagolt listáját kell megadnia a szintaxis használatával:
-transform <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 esetben hasznosak lehetnek, különösen akkor, ha egy App Service-ben helyezik üzembe, é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 szintaxiskö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ó helyettesítése előtt futnak.
Változó helyettesítése
- Jelenleg csak 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 futnak.
- A változó-helyettesítés csak az objektumhierarchiában előre definiált JSON-kulcsokra vonatkozik. Nem hoz létre új kulcsokat.
Jegyzet
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_agentbuild.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 minta .Production.confignevű összes konfigurációs fájlon való futtatásához, 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őt 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 mintában ConnectionString értékét szeretné lecserélni, egy változót Data.DefaultConnection.ConnectionString kell definiálnia 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 bekapcsolva | Ügynök, DeploymentGroup |
| Követelmények | Egyik sem |
| 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ármely |
| Változók beállítása | Bármely |
| Ügynök verziója | Minden támogatott ügynökverzió. |
| Tevékenységkategória | Hasznosság |