我正在尝试设置连接字符串是我的Azure资源部署项目。这将通过Octopus触发。我们希望每个部署都有一个干净的系统。我们想要完成持续部署。项目应该应对变化。系统应该为蓝绿色部署做好准备吗?
我正在考虑
我将面临哪些挑战?我是否必须拥有 ZooKeeper 等工具?
使用Azure资源项目的TYPE项目结构
参数&聚焦的变量使它们保持在20以下
答案 0 :(得分:1)
我建议在这种情况下使用Jenkins来实现持续部署。我已经成功实现了这一点。
有一个名为poll SCM的功能。当您有新的提交时,这将导致构建。
构建之后,您可以使用工具octo.exe创建发行版并将该发行版部署到您的特定环境。
我使用以下代码创建和部署版本:
创建发布:
octo.exe create-release --project=%Environment% --server %Server% --apiKey %APIKEY% --version %version% --packageversion %version%
我的变量定义在更高的级别以提供松耦合:
%环境%:八达通环境 %Server%:八达通服务器 %APIKEY%:API密钥 %Timeout%:超时到期
部署版本:
octo.exe deploy-release --project %Environment% --releaseNumber %version% --deployto %Environment% --server %Server% --apiKey %APIKEY% --progress --deploymenttimeout %Timeout%
Jenkins非常灵活,在持续部署方面提供了很多帮助。你可以有不同的工作:
一个用于绿色,一个用于蓝色
绿色完成后,您可以触发一个蓝色。对于数据库更改,您可以将powershell与sql cmd一起使用来更改数据库和/或执行脚本。
答案 1 :(得分:0)
在您的方案中,您可以创建部署插槽并使用自动交换功能。这将减少停机时间和风险。有关详细信息,请参阅此 Configure Auto Swap
此外,对于第一个问题,您可以创建2个数据库,一个用于生产,一个用于暂存。您可以使用如下所示的粘性设置将数据库粘贴到特定插槽。请参阅:Configuration for deployment slots
此外,您还可以预热插槽,以便在交换之前准备好处理请求。
HTH!