Megosztás a következőn keresztül:


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.configelnevezett ö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

Lásd még