Как я могу передать переменную VSTS в файл свойств в проекте MVN - PullRequest
0 голосов
/ 11 июля 2019

Я должен передать базу данных, имя пользователя и пароль для подключения к базе данных из VSTS. Я выполняю проект Maven.

Я определил переменные в VSTS. Я хочу иметь файл свойств, такой как

datasource.url="${database}"
datasource.username="${username}"
datasource.password="${password}"

Возможно ли это сделать? или я должен получить переменные из кода Java?

Ответы [ 2 ]

1 голос
/ 12 июля 2019

Возможно ли это сделать? или я должен получить переменные из Java код

Конечно, может. И вам не нужно выполнять другие сложные операции, просто используйте задачу с именем Заменить задачу токенов .

Это не только работает в файле .config, но и очень эффективно в файле .properties.

В качестве примера просто измените определение переменной, чтобы к ней можно было правильно обращаться:

datasource.url="#{database}#"
datasource.username="#{username}#"
datasource.password="#{password}#"

Формат переменной в файле .properties: #{VariableName}#.

А затем добавьте задачу Replace Tokens в ваш конвейер. Добавьте значение на вкладке Переменная :

enter image description here

Для настройки задачи просто необходимо указать значение Целевые файлы :

enter image description here

После того, как сборка завершена, найдите локальный файл. Вот мой результат теста, вы можете видеть, что замена прошла успешно:

enter image description here

Примечание. При сборке с этой задачей выдается сообщение об ошибке, например: ##[error]EISDIR: illegal operation on a directory, read. Но на самом деле это не влияет на эти операции замены переменных. Вы увидите, что файл был успешно заменен.

0 голосов
/ 11 июля 2019

Создать задание для него.Например, в конвейере сборки:

- task: Bash@3
  inputs:
    targetType: inline
    script: 'sed -i "s/\${database}/\$(database)/g" db.properties'
    displayName: 'inject properties'

и т. Д.

...