Настроить строку подключения в Octopus Deploy для каждого проекта - PullRequest
0 голосов
/ 17 февраля 2019

Мои строки подключения настраиваются в Octopus Deploy через library/variables/LibraryVariableSets, и все отлично работает в зависимости от целевой среды. Теперь я собираюсь создать новых пользователей БД для каждого проекта / приложения и установить этот UID / PWD вмои строки подключения в Octopus.

Мой вопрос: как мне настроить эту строку подключения для проекта , как то, что у меня уже есть с локальными переменными для проекта (ключи настроек приложения)?

PS Версия для Octopus 4.1.2

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

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

Server=myServerAddress;Database=myDataBase;User Id=#{dbuserid}; Password=#{dbpassword};

Затем в каждом проекте, где вы используете этот набор библиотечных переменных, создайте новые переменные для dbuserid и dbpassword, когда переменные оцениваются для развертывания, эти местозаполнители переменных вСтрока подключения будет обновлена ​​значениями, указанными в переменных проекта.

Конечное значение переменной connection string во время развертывания:

Server=myServerAddress;Database=myDataBase;User Id=userid; Password=password;

Подробнее:

Вот как должен выглядеть ваш набор библиотечных переменных, здесь вы также можете добавить некоторую область видимости.Library Variable Set

Свяжите Library Variable Set с проектом:

Library Variable Set link

Затем установите идентификатор пользователяи пароль в переменных проекта:

project variable values

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

Я проверил его с помощью следующего скрипта powershell

write-host $connectionstring
write-host "#{connectionstring}"

, который приводит к следующему выводу:

script output

Если вам нужночтобы вставить строку подключения в определенную позицию в файле JSON, вы можете использовать синтаксис Переменные конфигурации JSON и установить значение для ссылки на переменную строки подключения #{connectionstring}.

json connection string example

0 голосов
/ 18 февраля 2019

Переменные в наборах библиотечных переменных не могут быть привязаны к отдельным проектам, так как они предназначены для глобальных проектов.Однако для реализации этого существует активное предложение UserVoice: https://octopusdeploy.uservoice.com/forums/170787-general/suggestions/31206961-library-variables-ability-to-scope-to-projects

В настоящее время вы можете определить эти переменные в наборе и включить этот набор во многие проекты, если вы хотите определить значение по умолчанию.Если вы определили переменную проекта с тем же именем, она будет считаться более «определенной областью» и, таким образом, будет использоваться при развертывании.Я не думаю, что это очень поможет с такими вещами, как строки подключения, которые зависят от проекта.

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