替换Docker映像中的数据库连接字符串

时间:2018-12-07 17:46:13

标签: azure docker kubernetes azure-devops

我在应用程序的发布过程中遇到困难。该应用程序正在.NET Core中开发,并使用“ appsettings.json”来保存到数据库的连接字符串。该应用程序应部署到Azure中的Kubernetes群集。尽管问题在于必须将其部署到多个环境(DEV / QA / UAT)中,并且每个环境都使用自己的数据库,但我们在Azure DevOps中有一个生成和发布过程,因此该过程是自动化的。当我们构建Docker映像时,包含连接字符串的'appsettings.json'被烘焙到映像中。下一步将映像推送到容器存储库,然后释放过程将其用于将映像部署到群集(步骤很经典)。

在构建步骤中将连接参数替换或放入变量中没什么大不了的。但是,这是一个发行过程,控制着到多个环境的部署。我看不到如何在Release管道中将连接字符串替换为数据库...或更确切地说,如何在正确设置了每个数据库连接字符串的情况下部署到三个不同的环境。

请提出如何实现的建议。我想出的唯一选择是为每个环境创建三个独立的构建管道,这看起来并不漂亮。 Release的整个想法是,您可以在将更改推广到下一个环境之前管理批准过程。

1 个答案:

答案 0 :(得分:1)

决定继续使用Kubernetes机密。在此处找到有关此问题的出色文章:https://strive2code.net/post/2018/12/07/devops-friday-build-a-deployment-pipeline-using-k8s-secrets