.net - VSTS Devops 使用 Web 和数据库部署失败回滚到以前的版本?
问题描述
Devops 部署失败时自动回滚到之前的版本(Web & Database)
我已经在您的帐户中安装了发布管理实用程序任务扩展,您将在任务中看到一个名为“<strong>Rollback powershell”的任务
我曾尝试在“回滚 PowerShell”代码下方,但无法正常工作。
try
{
$jsonobject = ConvertFrom-Json $env:Release_Tasks
}
catch
{
Write-Verbose -Verbose “Error parsing Release_Tasks environment variable”
Write-Verbose -Verbose $Error
}
foreach ($task in $jsonobject | Get-Member -MemberType NoteProperty)
{
$taskproperty = $jsonobject.$($task.Name) | ConvertFrom-Json
Write-Verbose -Verbose “Task $($taskproperty.Name) with rank $($task.Name) has status $($taskproperty.Status)”
// Perform rollback action required in case $task.Name has status failed
}
这种方法正确吗?如果有其他方式?
谢谢
解决方案
该方法是正确的。正如文档中提到的:
“Release_Tasks”环境变量应由任务设置,以使部署作业中每个任务的执行状态可用于powershell脚本。
我想知道你是否添加了变量System.Debug来输出调试信息。如果将发布管道的 System.Debug 设置为 ture,则可以在任务运行时找到日志。
try
{
Write-Verbose -Message "1111111111111111111111111111111111111111111111111"
Write-Verbose -Message “$env:Release_Tasks”
Write-Verbose -Message "2222222222222222222222222222222222222222222222222"
$jsonobject = ConvertFrom-Json $env:Release_Tasks
Write-Verbose -Message "3333333333333333333333333333333333333333333333333"
}
catch
{
Write-Verbose -Verbose “Error parsing Release_Tasks environment variable”
Write-Verbose -Verbose $Error
}
foreach ($task in $jsonobject | Get-Member -MemberType NoteProperty)
{
$taskproperty = $jsonobject.$($task.Name) | ConvertFrom-Json
Write-Verbose -Verbose “Task $($taskproperty.Name) with rank $($task.Name) has status $($taskproperty.Status)”
// Perform rollback action required in case $task.Name has status failed
}
您将获得诸如Log Info之类的调试信息。你能检查任务的日志吗?我不确定不在您的帖子中工作的含义。这是否意味着发布失败或回滚 PowerShell 任务没有按您的意愿工作?请详细说明信息。
推荐阅读
- flutter - Flutter:如何制作带有角边框的容器形状
- python - update_alert_policy() 意外参数
- r - 用 R 对 twitter 用户进行排名
- c# - C# 中是否有类似于 C 的 int main() 的 main 方法?
- reactjs - 打字稿 - 反应输入组件 - 休息类型只能从对象类型创建
- c# - 尝试将 StackExchange.Redis 中的 .HashSet 用于 .NET 并获得“空值在此上下文中无效”。
- javascript - 如果前面的句子有“and”,则匹配“And”
- javascript - R-Shiny - 在表格中创建单选按钮,列可选
- javascript - Shinyproxy 异常加载 glyphicons-halflings-regular.woff2
- vue.js - 如何在 PrimeVue 日历选择中更改 v-model 格式?