部署到不同服务器的部署组
Deployment Groups deploying to different server
我对 Azure Devops 还很陌生。已使用 dacpac 为 Sql 数据库成功创建 CI/CD 管道。 SQL 服务器位于 AZ VM 上。
作为其中的一部分,我创建了一个部署组和 运行 由天蓝色在 服务器 A 上生成的 shell 脚本。
创建 CD 管道时,错误地将 Server B 作为部署的目标服务器。
居然没有失败,部署成功
我认为每个服务器都应该添加到部署组中。但如果不添加服务器 B,我就可以部署。谁能解释一下幕后的情况。
服务器 B 的部署成功是因为服务器 B 可以从服务器 A 访问(您可以使用 Invoke-Sqlcmd 从服务器 A 连接到服务器 B 进行测试)。
当您在服务器 A 上创建部署组时,您还在服务器上安装了管道代理。当您 运行 CD 管道中的部署组作业时。它将在服务器A上的管道代理上执行。并且由于可以从服务器A访问服务器B,因此部署将成功。
为了更好地了解情况。假设您在 Azure VM 上创建了一个 self-hosted agent。您可以部署到托管在同一 Azure VM 上的 sql 服务器。以及不同机器上的任何其他 sql 服务器,只要它们可以从安装自托管代理的机器上访问。
我对 Azure Devops 还很陌生。已使用 dacpac 为 Sql 数据库成功创建 CI/CD 管道。 SQL 服务器位于 AZ VM 上。 作为其中的一部分,我创建了一个部署组和 运行 由天蓝色在 服务器 A 上生成的 shell 脚本。 创建 CD 管道时,错误地将 Server B 作为部署的目标服务器。 居然没有失败,部署成功
我认为每个服务器都应该添加到部署组中。但如果不添加服务器 B,我就可以部署。谁能解释一下幕后的情况。
服务器 B 的部署成功是因为服务器 B 可以从服务器 A 访问(您可以使用 Invoke-Sqlcmd 从服务器 A 连接到服务器 B 进行测试)。
当您在服务器 A 上创建部署组时,您还在服务器上安装了管道代理。当您 运行 CD 管道中的部署组作业时。它将在服务器A上的管道代理上执行。并且由于可以从服务器A访问服务器B,因此部署将成功。
为了更好地了解情况。假设您在 Azure VM 上创建了一个 self-hosted agent。您可以部署到托管在同一 Azure VM 上的 sql 服务器。以及不同机器上的任何其他 sql 服务器,只要它们可以从安装自托管代理的机器上访问。