Добавление переменной в файл xml - PullRequest
0 голосов
/ 16 июня 2020

В моей задаче azure DevOps «Publi sh to XL Deploy» я имею в виду файл deployit-manifest. xml, в котором мне нужно указать путь к файлу. Имя моего файла содержит идентификатор сборки, который меняется с каждой сборкой. Как я могу динамически добавить этот идентификатор сборки в имя файла в deployit-manifest. xml file:

<ctep.Application name="/MyApp" file="/MyApp/MyApp-1.0.0.0.ear"> 

Спасибо за любую помощь

Ответы [ 2 ]

1 голос
/ 17 июня 2020

Существуют и другие задачи расширения, которые вы можете использовать для замены переменных в ваших файлах конфигурации, помимо задачи замены токенов , упомянутой Кшиштофом. Например, RegEx Find & Replace Task и Magi c Chunks task .

При использовании задачи Replace Tokens или RegEx Find & Replace Task. Сначала вам нужно определить переменную в вашей pipleline, чтобы содержать значение вашего идентификатора сборки (например, BuildId).

enter image description here

Если вам нужно установить buildid Dynami c в вашем конвейере, вы можете проверить здесь to Dynami c установить переменную в скриптах.

Затем измените свой deployit-manifest. xml, чтобы токенизировать buildid (завернутый с префиксом токена #{ и суффиксом }#).

<ctep.Application name="/MyApp" file="/MyApp/MyApp-#{BuildId}#.ear">

Затем настройте задачи, как показано ниже (примеры представлены в представлении Yaml). И оставьте другие настройки по умолчанию.

Задача замены токенов

- task: qetza.replacetokens.replacetokens-task.replacetokens@3
  displayName: 'Replace tokens in **/deployit-manifest.xml'
  inputs:
    targetFiles: '**/deployit-manifest.xml'

RegEx Find & Replace

- task: knom.regexreplace-task.regex-replace.RegexReplace@3
  displayName: 'RegEx Find & Replace'        
  inputs:      
    InputSearchPattern: |
      **\deployit-manifest.xml

    FindRegex: '(#{.*}#)'
    ReplaceRegex: '$(BuildId)'

Для выполнения работы вы можете использовать одно из перечисленных выше заданий.

1 голос
/ 17 июня 2020

Пожалуйста, проверьте это расширение - замените токен . Когда вы объедините это с тем, как увеличивается версия вашего пакета при каждой сборке и поместите ее в переменную, вы сможете обновить этот файл, чтобы он содержал правильное имя пакета.

...