还原Azure DevOps Server (TFS)中误删除的生成流水线

在Azure DevOps Server(TFS系统)中部署回退/回滚方案(Rollback) 概述Azure DevOps Server(之前名TFS)是微软公司实现软件研发、测试和部署一体化的全流程解决方案。在近几年的研发过程中,Azure DevOps Server 大幅增强了软件部署过程的自动化功能。对于系统运维人员而言,确保软件的稳定运行,是自己的第一工作目标。但是,在信息技术飞速发展的今天,信息系统的升级变更已经成了家常便饭。每周升级、每天升级、甚至一天升级数次,都已经见怪不怪... 阅读详情

流水线历史记录

DevOps Server流水线的历史记录有完善的版本日志,用户可以随时回退到修改过程中的任何一个版本,还能比较差异。这个历史记录功能可以和代码库中的版本控制媲美。

图一:生成历史记录

image

但是,如果实施工程师辛辛苦苦配置的复杂流水线,不小心被一个小白删除了,而你翻遍了Azure DevOps Server 的所有菜单也找不到流水线的回收站菜单,此时估计你跳楼的心都有了。

图二:生成定义中的删除按钮

image

还好,微软为你提供了一瓶后悔药,你还有最后的一种方法还原被删除的流水线,那就是Rest API。但是需要注意,系统只保留4周内被删除的流水线数据,如果超出了4周,流水线将被永久删除。

下面我们来分别看看如何还原生成和发布流水线:

还原生成流水线

还原一条生成流水线的rest api格式如下:

PATCH http://tfsserver/{collection/{project}/_apis/build/definitions/{definitionId}?deleted={deleted}&api-version=5.0

使用上面api的核心,是需要了解流水线的id,就是definitionId。在当前版本的api中,没有获取所有生成定义的api,如果你不记得被删除的流水线ID,那么你需要根据最近新增加的流水线ID猜测,或者到数据库中使用SQL查询相关的表。

例如下面我在postman中使用到的api:

PATCH http://tfs.southeastasia.cloudapp.azure.com/DefaultCollection/DemoProject/_apis/build/definitions/5?deleted=false&api-version=5.0

图三:postman中调用恢复流水线api

image

如果调用成功,系统会返回被恢复流水线的相关json数据;同时,你也可以在浏览器中看到恢复出来的数据了,只是生成的名称加上了前缀“(RESTORED 2019-03-21 13:45:49)”字样,如下图:

image

还原发布流水线

还原发布流水线的方式和上面还原生成流水线的方式差不多。

但是,在还原发布流水线之前,我们可以使用列表的api获取所有被删除的流水线,api格式如下:

Get http://tfs.southeastasia.cloudapp.azure.com/DefaultCollection/DemoProject/_apis/release/definitions?isdeleted=true

使用上面api,获取到需要还原的流水线ID后,就可以使用PATCH方法调用还原流水线的api了:

PATCH http://tfs.southeastasia.cloudapp.azure.com/DefaultCollection/DemoProject/_apis/release/definitions/1?api-version=5

注意在postman中调用上面的api时,需要做到:

1. 调用api方式为PATCH

2. 必须在body中添加备注信息,备注内容如下:

{ "Comment" : "Deleted by mistake" }

3. body的数据格式为:application/json,或者application/json-patch+json

下面是调用在postman中的截图:

image

如果api调用成功,系统会返回被还原的流水线的相关json数据,你可以在web界面中看到被还原的流水线了。

在流水线的历史记录中,你可以看到还原过程中的日志信息:

image

看到这里,你不再需要担心误删除流水线数据了。

微软DevOps MVP 张洪君 http://www.cnblogs.com/danzhang

--End-

TFS2010 入门使用步骤图解说明详细截图说明doc TFS2010 入门使用步骤图解说明详细截图说明doc 每个步骤都有详细说明加截图说明 立即下载

相关推荐

2025浏览器指纹伪装终极指南:Playwright修改WebGL+时区+分辨率,小红书爬1000条零验证

2025年小红书的反爬已经进入“多维校验”时代,单纯修改某一个指纹维度已失效。本文方案的核心是“让所有特征都一致且合理”——WebGL+Canvas+时区+分辨率+UA+行为,形成一个完整的“真实用户画像”,让小红书的反爬系统无法区分是爬虫还是真人。这套方案不仅适用于小红书,也可迁移到知乎、抖音、跨境电商等其他高反爬平台,只需替换对应的指纹库和数据提取逻辑。记住:指纹伪装的本质不是“欺骗”,而是“模拟真实”,把每个细节都做到和人类一致,自然就能实现“零验证”爬取。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 3071

Azure DevOps管理Azure中国区域

Azure DevOps目前仍只在微软云Azure海外区域提供SaaS服务,Azure中国区域还没有发布。其实Azure DevOps可以管理各种云和应用部署的环境与平台,可以通过服务连接(Service Connection) 方便地连接Azure中国区域,以及其它Azure的特殊区域,比如美国政务云、德国区域等等。本文将带领大家一步一步配置好中国区域的订阅,以及建立起Azure DevOps到中国区域订阅的连接。 配置Azure中国区域 Azure DevOps的服务连接支持多种连接方式,包括Azu

雪峰的专栏 2650

基于Ansys Fluent和Mechanical的血管稳态流固耦合模型

流固耦合模型在医学中也会被用到,本次小编为大家带来针对人造血管内血液流动的仿真实例。 在开物云平台上找到Workbench 点击进入:https://cloud.yuansuan.cn/?user_source=community 在左侧的Toolbox中找到对应的模块:Fluid Flow(Fluent)和Static Structure 双击“Geometry”,进入建模功能 文件-打开-找到保存的模型文件 退回到主界面,在fluid flow(Fluent)中找到mesh

huasheng233的博客 3911

azure 东南亚_为何东南亚应该拥抱开源运动

azure 东南亚The web is built on the idea of participation, collaboration and exchange. Thomas Gorissen explains why the ASEAN community should adapt these values. This article was originally published on...

culi3182的博客 392

汽车氛围灯 PCBA 方案开发:从技术底层解析车载光效的核心逻辑

摘要: 车载氛围灯PCBA方案开发需兼顾性能与车规要求。主控芯片选型应关注运算能力、温度适应性和低功耗(如NXPS32K344、复旦微FM33FG065A)。电路防护需采用TVS二极管等组合设计,满足ISO7637-2浪涌防护标准。通信协议分层应用(CAN+LIN),调光需解决色准与温漂问题,动态灯效通过FIFO队列实现。开发中需进行温度循环、振动、EMC等可靠性测试,细节处理(如三防涂覆)至关重要。该领域开发需熟悉车规标准并积累实车经验。

2401_87454052的博客 1132

从USB相机标定到Aruco码精准定位:基于aruco-ros的机器人视觉实践

本文详细介绍了基于aruco-ros的机器人视觉实践,从USB相机标定到Aruco码精准定位的全流程。通过实战案例和优化技巧,展示了Aruco码在机器人导航中的高精度位姿识别能力,帮助开发者快速实现毫米级视觉定位系统。

weixin_27310417的博客 487

在Azure DevOps Server (TFS 2019) 流水线传递参数

变量概述在Azure DevOps Server的流水线中,变量是衔接不同任务和不通代理之间的桥梁,它可以使相对松散、各自独立的任务之间相关影响并共享数据。在流水线中使用变量,可以在各任务之间相互调用关键性的数据。顾名思义,变量是一个可以在流水线中变化值。在CI/CD的执行流水线中,我们都需要使用到各种用途的字符、数字,对象这些字符、数据的定义,我们可以采用变量的方式实现,而不需要在代码中硬编码...

Azure DevOps Server(原名TFS) 496

使用Matlab与V-REP联合仿真

在Matlab中,我们可以使用V-REP提供的远程API(Application Programming Interface)来连接到V-REP仿真环境。为了连接Matlab与V-REP,我们需要在Matlab中添加V-REP的远程API函数库。你可以根据具体的需求编写Matlab脚本来控制V-REP场景中的机器人,并进行系统建模和仿真。一旦成功连接到V-REP,我们可以使用Matlab来控制V-REP场景中的机器人。在本文中,我们将介绍如何使用Matlab与V-REP进行联合仿真,并提供相应的源代码。

HackMasterX的博客 1857

使用TFS玩转Docker自动化部署

简介 本文将介绍如何通过微软的Team Foundation Server平台,结合Docker完成程序的持续集成、持续部署。这里小编以.NET Core为例向大家分享整个DevOps流水线的搭建过程以及思路,其他语言平台均适用。 作者:周文洋 LEANSOFT研发总监,认证 Scrum Master,曾为多家客户提供微软Team Foundation Serv...

788

SAP成本核算的核心逻辑

SAP成本核算采用"计划-归集-分析"闭环管理,以CO模块为核心,集成PP、MM等模块。核算前需配置标准成本控制范围、成本中心等主数据。标准成本通过BOM和工艺路线计算(CK11N),采购和生产过程记录实际成本差异。制造费用通过成本中心归集,作业成本按实际耗用量分配。完工产品按标准成本入库,月末通过KO88结算工单差异,物料分类账(CKMLCP)还原实际成本。整个流程实现FI与CO数据同步,确保账务一致。关键事务码包括CK11N(成本估算)、MIGO(物料移动)、CO11N(报工)等。

金牌架构师 541

【全志V821_FoxPi】6-2 IMX219 MIPI摄像头适配

全志V821芯片适配IMX219 MIPI摄像头(2lane)教程,基于FoxPi开发板V1.2 SDK。文章详细介绍了IMX219的技术参数(800万像素、1/4英寸CMOS、支持1080P@30fps输出)及模组接口原理图。重点展示了设备树配置方法,包括PIO引脚定义(TWI0使用PA3/PA4,复位引脚PA2)、TWI0节点设置(100kHz时钟)以及VIND0节点中sensor0的完整配置(I2C地址0x20、MCLK0、RAW格式输出等)。配置过程强调需注意IMX219的器件地址转换(0x10→0

第四维度的博客 2255

CI/CD 码农的流水线(Azure DevOps Server 2019 使用)

一、简介 Azure DevOps Server 2019是微软原TFS的升级版本,也是一个支持本地离线开发的版本,对应有一个在线云托管版本的Azure DevOps Service2019。 Azure DevOps为支持团队提供开发人员服务,以计划工作,协作进行代码开发以及生成和部署应用程序。Azure DevOps支持一种文化和一组流程,这些流程和流程将开发人员,项目经理和贡献者聚集在一起,以完成软件开发。它使组织可以比传统软件开发方法更快地创建和改进产品。 其内容管理组织方式为先在Azu...

zhujisoft的专栏 2万+

从0到1:用Claude 3.7十日拿下教育部课题申报书(附可修改LaTeX模板)

🟣"作为教育部人文社科项目评审专家,请根据近三年立项数据分析,为[您的学科方向]领域推荐5个具有创新性且符合'十四五'规划的重点选题,要求选题体现交叉学科特征,并标注潜在理论突破点"🟣"根据前期研究基础,创建包含4个研究模块、12个关键节点的三维技术路线图,要求体现实验仿真-实证研究-理论建模的螺旋递进关系,并标注每个节点的预期成果形态"🟣"现在切换至教育部学科评审组组长模式,从选题价值、创新程度、研究可行性三个维度对本申报书进行盲审,生成包含9个扣分风险点的诊断报告及修改优先级排序"

智能AI让学术科研更容易 546

devops 日志处理

elk:elasticsearch kibana l是啥鬼??logstash kubenetes上的日志收集模式:https://www.jianshu.com/p/72f34de4dd35 一共有三种收集模式:一个是DaemonSet模式,一个是sidecar模式,一个是自带的kubctl log的模式。各有优势。。 sidecar就是把日志收集和处理功能从app中拆分出来,就像摩托车的...

davidliuzkw的博客 1048

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

VCenter配置ESXI主机syslog日志收集

VCenter配置ESXI主机syslog日志收集 https://blog.51cto.com/zhsoft/1896310 1进入VCenter虚拟机控制台,查看syslog服务是否启动; 2如VCenter未安装syslog服务,则挂载VCenter安装介质,运行Vcenter-Server\Packages目录下的vmware-syslogcollector安装文件,安装syslog服务; 3打开cmd命令行,执行netstat -an | findstr 514检查..

荒野求生的博客 4191

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

彻底清空SharePoint回收站

如果你在SharePoint回收站需要快速清理,这里有个小技巧。 1. 导航到回收站页面。 2. 在地址栏输入javascript:emptyItems()代替回收站的URL。 3. 点击Enter 4. 确认清空全部内容。

NetSuite 张老师 2031

Azure Dev Ops找回被删除的项目

近期开始使用Azure Dev Ops,误删了一个项目,怎样找回? 主页 > Organization Settings > Overview > Recently deleted projects, 选中要恢复的项目,点击“Restore” 重新打开主页,误删的项目回来了。 问题解决。 参考:Restore project - Azure DevOps Services | Microsoft Docs ...

小鹰信息技术服务部 1009

Azure Storage Account 误删恢复

登陆Azure站点,导航到新支持请求工作流程中 新建一个支持请求,信息可以按照如下这么去设置,当然要注意订阅账号别选择错 点击图中圈起来的链接“恢复删除的存储帐户” 请选择已删除的帐户, 并且单击恢复。 恢复完成后,我们会看到一个通知success~,恢复成功 ...

冯辉 424

Intelij idea 2020.1.4版本Services里的模块不小心删除了怎么办

操作背景 有时候因为手误不小心把Services里面的Spring Boot多模块给删除掉,给微服务项目启动和调试项目带来不便,下面教你一招快速修复的办法 极速解决办法 网上也有通过修改配置文件,将文件加回来的方法,这种方法有可能会导致修改配置文件不对,显示不正常,最简单粗暴的方法是: 删除主项目模块下的*.iml文件 删除主项目模块下的.idea文件夹 重启idea,然后等待扫描加载 结后语 这种式也同样适用于通过maven方式创建模块后,模块并未正确生成,无法创建java文件。 可以使用mate

bufegar0的博客 3353

使用TFS CI/CD 完成 VSTS 插件自动化部署和发布

Visual Studio Team Service 经过了13年的版本演进和5年的在线运营,现在已经是最成熟的商用DevOps工具链,Marketplace作为VSTS...

dotNET跨平台 3637

Team Foundation Server 2015 Update 2.1 发布日志

微软在 2016年5月5日发布了Visual Studio Team Foundation Server 2015 update 2.1。 下面我们来看看Update2.1中给我们带来了哪些新功能。 下载地址: Team Foundation Server 2015 Update 2.1 注: Team Foundation Server 2015 Update 2.1 修复了...

weixin_30263073的博客 194

在Azure DevOps Server (TFS)的流水线中编译和测试Xcode移动应用(iPhone)

概述Xcode是开发基于苹果macOS系统的桌面应用和移动应用的主要IDE工具。使用Azure DevOps Server (原名TFS)系统中的pipelines流水线功能,可以方便的集成Xcode项目,使用web浏览器在DevOps服务器上,实现一键编译、测试和发布等工作,省却测试发布过程中复杂的流程,大幅提高测试发布的效率,提高开发和测试团队之间的协作效率。本文已经某银行的IOS手机银行移...

Azure DevOps Server(原名TFS) 391

InnoDB 内存结构总览:Change Buffer、AHI 与 Log Buffer

本文系统梳理InnoDB内存结构中的ChangeBuffer、Adaptive Hash Index(AHI)与LogBuffer。ChangeBuffer缓存二级索引页不在内存时的变更,减少随机IO,仅在页加载时合并;聚簇索引修改立即执行,因数据本身不可延后。AHI基于高频等值查询自动构建哈希索引,加速定位,仅支持等值操作。LogBuffer为redo log内存缓冲,配合磁盘日志实现崩溃恢复。三者均服务于性能优化,其中ChangeBuffer与AHI共享BufferPool空间,而LogBuffer独立

bksczm的博客 304
上一篇: 在Azure DevOps Server的代理服务器安装Python环境
下一篇: 使用TheFolderSpy监控文件夹的变化-邮件通知
Azure DevOps
博客等级 码龄6年 219粉丝 296原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值