Выполните SQLCMD.exe из PowerShell в конвейере выпуска DevOps Azure. - PullRequest
0 голосов
/ 15 октября 2018

Я портирую нашу инфраструктуру развертывания на Azure DevOps (ранее Visual Studio Team Services), но столкнулся с проблемой, для которой не могу найти хороших решений.

Мы используем EFОсновные миграции и для решения некоторых не связанных с этим проблем нам нужно динамически обернуть сценарии SQL в SQLCmd, что легко с помощью PowerShell.

Однако при выполнении нашего сценария в качестве обычного шага PowerShell вконвейер выпуска завершается неудачно, поскольку SQLCMD.exe недоступен.Не удивительно, но я также не могу найти какой-либо документированный способ его установки.

Существует ли установщик инструмента или какой-либо аналогичный готовый компонент, который позволит мне выполнить сценарий PowerShell, который вызывает SQLCMD.exe (через Invoke-SqlCmd) как часть конвейера Azure Devops?Если нет, то как проще всего это сделать?

Ответы [ 3 ]

0 голосов
/ 16 октября 2018

Сам не пробовал, но разрешено ли вам устанавливать модули Powershell для текущего пользователя на размещенном агенте?Поскольку Invoke-SqlCmd является частью модуля SqlServer , который можно установить из галереи Powershell с помощью:

Install-Module -Name SqlServer -Scope CurrentUser
0 голосов
/ 01 февраля 2019

Это сработало для меня

Install-Module -Name SqlServer -Force -AllowClobber

Не уверен насчет -AllowClobber, хотя на моем локальном ПК команда жаловалась на что-то без него, и я не проверял Azure tbh.

0 голосов
/ 16 октября 2018

Вы можете попытаться создать пакет для установки необходимых инструментов на агенте, поскольку теперь это возможно.Вы можете использовать задачу Chocolatey для запуска пакета из нее

Доступен (старый) шоколадный пакет, который вы можете попробовать: https://chocolatey.org/packages?q=SQLCMD

Не могуВы используете обычные сценарии SQL через одно из доступных расширений?См. здесь или здесь

Конечно, использование автономного агента может быть вариантом, тогда вы можете установить все, что захотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...