У меня есть веб-приложение, в передней части я использую платформу asp.net, а в задней части у меня есть служба WCF.
Я хочу иметь несколько сред, одну для постановки и одну для производства.
Мне уже удалось развернуть как интерфейсную, так и серверную часть с помощью azure DevOps, но мне трудно найти лучший способ хранения секретов (таких как пароли, строка подключения), зная, что у меня есть несколько env, потому что я не хочу, чтобы мои секреты были виден для VCS или при построении. секреты должны появляться только в релизе.
Я надеюсь, что кто-нибудь поделится своим опытом того, как он управляет развертыванием в нескольких средах и скрывает секреты от VSC.
Спасибо.
Вы можете использовать переменные для хранения секретов в Azure DevOps:
Вы можете щелкнуть вкладку переменной во время работы вашего конвейера и сохранить секреты, пароли, строки подключения в этой переменной для разных этапов, заданий и запустить конвейер.
Во время работы вашего конвейера вы можете хранить свои секреты или пароль в переменной, как показано ниже, и также распространять ее на разные этапы: -
И используйте его как переменную среды в пайплайне для разных этапов.
Если вы хотите хранить секреты обычно, вы также можете использовать группу переменных, как показано ниже:
Вы можете замаскировать значение, чтобы защитить его.
и в сценарии переменных вы можете напрямую использовать группу переменных для доступа к секретам: -
Вы также можете сохранить свои строки подключения, секреты, пароль в хранилище ключей Azure, а затем создать группу переменных хранилища ключей Azure в конвейере Azure DevOps, как показано ниже:
Я добавил один секрет в ресурс хранилища ключей Azure, как показано ниже:
Теперь, чтобы получить доступ к этим секретным значениям в конвейере yaml Azure DevOps, см. ниже: -
trigger:
- main
steps:
- task: AzureKeyVault@2
inputs:
azureSubscription: 'SID subscription(1)(<subscription-id>)'
KeyVaultName: 'siliconvault'
SecretsFilter: '*'
RunAsPreJob: false
- script : |
echo $(dbpassword)
Убедитесь, что вы предоставили разрешения на доступ к подключению службы Azure DevOps для доступа к хранилищу ключей, и пароль dbpassword будет зашифрован при запуске конвейера, как показано ниже:
Вы также можете создать группу переменных для хранения этого секрета хранилища ключей Azure в Azure DevOps:
Ссылка :-
Использование секретов Azure Key Vault в Azure Pipelines - Azure Pipelines | Обучение Майкрософт
Установка секретных переменных - Azure Pipelines | Обучение Майкрософт