问题描述
在使用AzureDevOps创建git分支时,我们在该分支中修改VS中的代码,并可以在本地主机上运行Web应用程序。完成后,我们提交更改并创建PR。其他开发人员可以下载此分支并进行测试。在PR获得批准后,该分支将合并到dev分支,并触发AzureDevops管道,将应用程序部署到Azure App Service。然后其他人可以通过访问URL来测试它。
但是我们需要其他人(例如QA或BA人员)在PR完成和部署之前测试应用程序,而他们没有安装VS。
是否可能在不发布的情况下从分支获取运行中的应用程序?
AzureDevops是否提供此类功能?也许在幕后创建VM或容器?
顺便说一句,我们可以通过修改管道,将源从dev分支更改为某个特定分支来实现这样的功能,但每次都这样做并不是很方便。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
在Azure DevOps中,可以使用Azure DevOps的功能来实现从分支获取运行中的应用程序的需求。以下是一种可能的解决方案:
1. 创建一个Azure DevOps管道,用于从分支获取运行中的应用程序。
2. 在管道中添加一个任务,用于从分支获取代码并构建应用程序。
3. 在管道中添加一个任务,用于将应用程序部署到Azure App Service。
4. 配置管道触发器,使其在分支有新的提交时触发。
这样,当有新的提交到分支时,Azure DevOps管道将自动获取代码并构建应用程序,并将其部署到Azure App Service。其他人可以通过访问相应的URL来测试运行中的应用程序。
方案2
使用临时环境可能会增加复杂性,并且需要额外的资源和管理。
另一种方法是使用临时环境来获取运行中的应用程序。以下是一种可能的解决方案:
1. 创建一个临时环境,例如Azure虚拟机或容器。
2. 在临时环境中获取分支的代码并构建应用程序。
3. 在临时环境中运行应用程序,并将其暴露给其他人进行测试。
这种方法需要额外的资源和管理,因为每次需要测试时都需要创建和销毁临时环境。但它可以让其他人在不发布的情况下测试运行中的应用程序。
请注意,使用临时环境进行测试可能无法完全模拟生产环境中的情况。因此,还应该在发布之前进行正式的生产环境测试。
方案3
使用功能标志可以让QA和BA人员在不发布的情况下测试特定功能。
另一种方法是使用功能标志来实现QA和BA人员在不发布的情况下测试应用程序的需求。以下是一种可能的解决方案:
1. 在代码中添加功能标志,用于控制特定功能的开关。
2. 在应用程序中添加一个界面或命令行选项,允许QA和BA人员打开或关闭特定功能。
3. 在QA和BA人员测试应用程序时,他们可以打开或关闭特定功能,以测试不同的场景。
使用功能标志可以让QA和BA人员在不发布的情况下测试特定功能,而无需安装VS或从分支获取运行中的应用程序。
请注意,使用功能标志进行测试可能无法完全模拟生产环境中的情况。因此,还应该在发布之前进行正式的生产环境测试。
以上是几种可能的解决方案,您可以根据您的具体需求选择适合您的方法。