首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

试点项目背后的支撑:农行研发中心 DevOps 工具集成揭秘

,结合对标和改进方向,对主各工具进行改造,目前实现了主间的集成和数据交互,实现研发、测试、运维工具贯通,实施流水线配置构建能力的持续提升,依据管理优化成效,完善流水线建设,支持 5 个试点项目同时通过...3 各工具间的集成设计 3.1 TFS 与代码合规检查工具 JTest、DotTest 集成设计 TFS 生成定义中调用代码合规检查插件,在构建的同时,同步启动代码合规检查,检查结果显示在TFS控制台...图4 TFS中自动化测试工具ATP插件示意图 3.3 TFS 与制品库集成设计 制品库通过插件的方式与TFS集成,为TFS构建提供全语言依赖解析及制品存储能力,插件支持从制品库中解析构建所依赖的组件、发布构建制品到制品库...TFS 发布定义插件中集成星云的模板号、应用名称列表,TFS 创建发布定义,触发星云自动建单和部署,TFS 调用星云平台接口,获取部署过程的执行日志。 ?...通过TFS触发 Jenkins 进行 CI/CD,包括生成应用 jar 或 war,进行应用镜像构建应用镜像推送至镜像仓库,最后部署到集成测试环境等;TFS能同步获取CI/CD相关的日志,在TFS界面上查看到相关的操作结果

2K31

农行 DevOps 进行时之最佳实践分享:特性分支流水线配置

开发人员更新特性分支 feature 后可通过请求向主干分支或者发布分支合并代码,通过配置主干或发布分支的分支策略,确保合并前代码经过了提交即构建流水线的相关质量门禁(如单测、代码合规和安扫等)和相关人员的代码评审...3、TFS分解需求,创建特性分支 1)创建项目:TFS积压工作-新建项目,填写项目名称+项目编号。 2)创建模块:创建模块建议按git库或系统所分模块拆分。...4、建立特性分支和主干分支rel请求 5、更新代码后,查看是否触发请求和提交即构建执行是否成功,需审批人进行代码评审后合并代码到主干或发布分支。 1)更新代码后,点击提交。...2)点击请求,查看feature-*和rel分支的请求。 3)向特性分支提交代码后自动触发提交即构建流水线。 4)查看提交即构建流水线运行是否成功。 5)根据分支保护策略进行代码批准。...保证代码更新后进行主干或发布分支提交即构建流水线运行,且运行成功通过代码评审后,点击完成才能归并到目标分支。 6、特性分支挑选、还原功能使用 点击请求页签,挑选已完成请求

1.1K30
您找到你想要的搜索结果了吗?
是的
没有找到

Docker+Jenkins+Gitee+Harbor+WebHooks实现CICD!

---- 文章简介:Docker+Jenkins+Gitee+Harbor+WebHooks实现CI/CD!...创作目的:Docker+Jenkins+Gitee+Harbor+WebHooks实现CI/CD! ☀️ 今日天气:天气有些阴沉 每日一言:如果你执意追逐我的幻影,迟早会被真正的我打败。...Codeing ==> 代码管理器(SVN,TFS,Git,GitLab) ==>编译 ==> 打包 ==> 拷贝至目标服务器 ==> 构建镜像 ==> 容器化部署==>访问 #使用了Jenkins,...的插件 Publish Over SSH ===> 远程连接访问的插件 使用jenkinsGitee中的项目 jenkins中如何使用Docker API插件构建镜像 开启端口 前提...daemon-reload systemctl restart docker 使用Dockerfile Plugin配置连接Docker引擎 搭建harbor私服仓库并完成镜像推拉和jenkins对接 如何把新构构建的镜像渠道目标服务器并进行项目容器化部署

32131

DevOps工具

代码完成后,编码器提交并将其存储在本地存储库中。在编码器推送代码后,它将存储在Git仓库中。进行更改时,可以使用Git进行和更新。...它构建一个新的版本系统并将其部署在测试服务器中。整个代码创建完成后,Jenkins CI管道在服务器上运行代码并检查错误。如果代码在测试中失败,则会通知相关管理员。...当需要进行更改时,Puppet代理接到Puppet Master。Facter工具Puppet Agent的完整详细信息提交给Puppet Master。...Azure Artifacts是工件添加到CI / CD管道。Azure董事会将计划,跟踪和讨论各个团队之间的工作。...AWS CodePipeline用于CI / CD流程,以构建,部署和测试代码。AWS CodeBuild会编译和测试源代码。它同时处理多个构建

1.6K30

农行 DevOps 进行时之最佳实践分享:自动化单元测试质量门禁

自动化单元测试质量门禁通常设置在 DevOps 流水线的提交即构建流水线中。下面就分享一下农行 DevOps 项目中通过tfs请求进行单元测试质量门禁设置的具体实践。...例如在拉请求合并代码时,如果单元测试通过率未达到100%,或覆盖率不超过80%,则不能向主干合并入代码。...二、TFS配置提交即构建管道:执行编译构建、单元测试任及质量门禁等任务,在单元测试质量门禁任务中配置单元测试通过率和单元测试覆盖率门禁阈值。...三、配置主干分支策略,通过预先合并和生成请求更改来验证代码:即代码向主干分支归并时进行预构建,执行单元测试,收集单元通过率数据和覆盖率数据,单元测试通过率需达到100%、覆盖率应达到80%,否则构建失败

1.7K41

Git 企业开发者教程

– 团队开始使用请求(Pull Request)了?这是个什么鬼? – 改了代码,直接运行git commit为啥就不工作呢? – 怎么样才能把远程分支下载到本地开始工作?...为什么要使用版本控制系统 Git 分布式版本控制系统的优势 Git 安装和设置 初始化Git存储库(Repo) 起步 1 – 创建分支和保存代码 起步 2 – 了解Git历史记录 起步 3 – 请求...(fetch/pull)更新代码 使用请求(Pull Request)进行代码检视 使用Git变基(rebase)更新代码 使用Git提交拣选(cherry pick)功能在分之间复制改动 解决合并冲突...Git 分支策略设计的原则,调试单元,部署单元,测试单元 Git 与团队结构,产品/项目发布特性,产品生命周期 Git 请求与可靠持续交付 Git 分叉(Fork)与分支(Branch)的区别 传统分支模式与特性分支模式的比较...特性分支+请求+质量门模式 混用分叉(fork)与特性分支(feature branch) 在这个教程中,我们将使用 Visual Studio Team Services (VSTS) /Team

1.9K100

农行 DevOps 实践:制品库对 DevOps 三大流水线的支撑

、安全扫描、ATP测试等多重质量门禁,完成编译构建,部署到服务器。...在TFS中配置了服务连接,用于连接制品库上传或者下载制品。 镜像制作成功后,镜像及镜像信息推送至制品库镜像库中的dev库,同时清除本地镜像。...发布部署: 选用 Kubernetes 生态中的工作,从制品库中前置过程生成的dev阶段的yaml文件。 二、支撑测试部署流水线 测试部署流水线对应系统测试阶段。...接下来连接 PaaS 云,制品库对应的制品,制品部署到 paas云上。之后进行一系列ATP测试、性能测试、手工测试,测试完成后,测试准出,该流水线执行完毕。...在 DevOps 流水线的使用开发中,制品库作为中转站,构建与部署之间的耦合度降到最低,可大幅度提升协作效率。

2.6K50

精通 TensorFlow 1.x:1~5

在 TensorFlow 中创建程序意味着构建一个或多个 TensorFlow 计算图。 执行模型包括以依赖序列触发计算图的节点。执行从运行直接连接到输入的节点开始,仅依赖于存在的输入。...否则,必须使用tfs.close()命令显式关闭会话,其中tfs是会话名称。 执行顺序和延迟加载 节点按依赖顺序执行。如果节点a依赖于节点b,则a将在执行b之前执行请求b。...此外,如果您请求的 GPU 设备不存在,您将收到运行时错误。处理此类错误的最佳方法是,如果请求 GPU 设备导致错误,则允许操作置于 CPU 上。...可以使用.apply(function, arguments)方法任何附加函数链接到 PrettyTensor 对象。...二分类的逻辑回归 对于二分类,我们模型函数φ(z)定义为 sigmoid 函数,如下所示: [外图片转存失败,源站可能有防盗链机制,建议图片保存下来直接上传(img-Wc9HKyGp-1681566326312

2.9K10

.NET平台系列12 .NET未来之开源.NET Core

从那以后,我总共收到了16个pull请求,其中许多请求都有大量的特性工作(顺便说一下:第一个是关于增加单元测试的,这有多棒?)。...内部TFS。虽然我们不再将TF版本控制用于.NET Core,但大块的DevDiv仍然可以使用。为了进行跨小组的协作,我们可能会继续允许团队在TFS中向我们提交错误。...我们收到的请求根据以下标准进行判断: 线路图。所有项目都将精力集中在某些领域。为了保持焦点和动力,大部分工作与产品路线图保持一致很重要。 质量。我们有责任提供高质量的代码。...也就是说,您将分叉我们的项目,在主题分支中执行工作,然后针对我们的master分支提交请求。这与我们用于代码审查的模型相同。   ...它将构建所有库并运行单元测试。 过去我们面临的挑战之一是强大的命名,这使您无法二进制文件简单地放入现有项目中。我们通过提供一种强名称二进制文件的新方法解决了这一问题,我们称其为开放源代码签名。

1.3K10

Azure DevOps+Docker+Asp.NET Core 实现CICD(一 .简介与创建自己的代理池)

打算用三个篇幅来记录完整的全过程 CI/CD简介 首先,我们先来简单的介绍一下什么是CI/CD CI全拼Continuous Integration 持续集成 我们的开发每天基本都会提交多次代码到主干上...CI/CD优点是,重复的工作用自动化来代替、减少时间成本、减少版本发布时间。...Azure DevOps的前身其实大家都熟悉就是TFS,Azure DevOps是由TFS转为线上Online的产品. 它基本上提供了CI/CD所需要的全部功能。...本文的CI/CD概念图 ? 这里的代理服务池和各类服务器 都是采用阿里云的CentOS7.0+系统....回到我们自己阿里云服务器. (1)安装打包编译需要的支持环境Docker CentOS安装Docker我就不详细描述了,百度一大把资料. (2)安装代码的工具GIT 需要注意的是CentOS自带的GIT

84110

微信朋友圈:应对春节千亿访问量背后的故事

每个OC内的设备,一起组成一个缓存池,用户下载时,本地OC中缓存不命中,才到IDC去回源文件。...两个缓冲池的作用是有区别的:  zone模块如果过载,主动过载掉的上传请求,不会直接返回失败,而是请求写入到缓冲池一中,缓冲池一中的文件并不能被下载到,但会按比较慢的速度文件下发,写入到后端模块。...在preupload模块处增加了缓冲池二,preupload模块中对存储TFS的写请求次数做了限制,如果上传请求数超过了存储TFS的能力,则preupload会将请求写入缓冲池二。...用户下载时,会根据文件标识进行判断,如果发现文件存储在缓冲池二而不是TFS中,则会到缓冲池二中去获取文件。所以缓冲池二可以替代TFS的功能,起到保护底层模块的效果。...等到缓冲池二下架时,需要将其中的文件人工写入到TFS中。

2.4K31

老司机带你探知存储伸缩之道

每次需要扩容的时候,只要增加存储Set到TFS存储系统中即可。 ? 1、存储Set定义 存储Set内部自成存储集群。每个Set内部有控制节点(ChxMaster)和若干存储节点(Chxd)组成。...TSSD通过哈希空间等分为N份,每份作为一个虚拟节点,在TFS系统中使用称为小表的逻辑结构来承载。在进行数据迁移和扩容的时候,小表是最小的调度单元。...TFS系统使用了TDisk作为底层磁盘的一个管理系统,底层不稳定、异构的硬件介质屏蔽为相对统一、稳定的资源,在扩容的时候良好地支持各种存储类型的硬件。...TDisk使用的是纯用户态处理的方式,使用udev机制,现有系统的盘符重新映射,为上层软件提供必需的硬件槽位信息。这种做法没有OS内核版本的限制,对于硬件的兼容性也较好。...目前开源的分布式存储系统普遍基于文件系统进行设计,整个路过长,出问题的话定位起来也很困难。如果存储进程因为IO未响应卡住,必须重启服务器才可以解决,影响范围较大。

1.1K60

老司机带你探知存储伸缩之道

[1493378874319_8633_1493378874702.png] 1、存储 Set 定义 存储Set内部自成存储集群。...TSSD 通过哈希空间等分为 N 份,每份作为一个虚拟节点,在 TFS 系统中使用称为小表的逻辑结构来承载。在进行数据迁移和扩容的时候,小表是最小的调度单元。...TFS 系统使用了 TDisk 作为底层磁盘的一个管理系统,底层不稳定、异构的硬件介质屏蔽为相对统一、稳定的资源,在扩容的时候良好地支持各种存储类型的硬件。...TDisk 使用的是纯用户态处理的方式,使用 udev 机制,现有系统的盘符重新映射,为上层软件提供必需的硬件槽位信息。这种做法没有 OS 内核版本的限制,对于硬件的兼容性也较好。...目前开源的分布式存储系统普遍基于文件系统进行设计,整个路过长,出问题的话定位起来也很困难。如果存储进程因为 IO 未响应卡住,必须重启服务器才可以解决,影响范围较大。

2.1K00

云计算可以为DevOps做些什么?

遵循DevOps和持续交付(CD)实践的组织可以遵循各种方法(例如Agile、Scrum或混合模型)来定义构建的内容。无论企业采用何种方式,对需求的清晰度、环境和沟通都非常重要。...DevOps和持续交付(CD)采用Modern Requirements4TFS以及TFS/VSTS,为需求管理提供了一个很好的平台。...AWS公司DevOps定义为一种“文化哲学、实践和工具的结合,可提高企业高速交付应用程序和服务的能力”。尤其对于SaaS编程组织而言,DevOps是迁移到任何云计算的基本驱动因素之一。...例如,Chef利用Ruby构建框架设计“公式”,该框架设计计算机化的程序安排和管理附近和基于云的管理(包括AWS)的过程。...中心最佳实践是处理DevOps“不断融入和持续传输”(CI/CD)的一种方式。CI/CD方法使企业能够不断刷新应用程序和管理,呈现新亮点,解决错误,并响应客户需求。

1.3K00

VS2010测试方面的文章

MTLM仅是一个测试和实验室管理功能的客户端,MTLM是完全依赖于TFS的,它运行起来的第一个界面就是要你去连接指定的TFS服务器,否则也就到此为止。...TFS是微软的软件开发生命周期管理(ALM)套件的核心服务器端,MTLM与它进行紧密绑定更进一步凸显了微软软件生命周期管理软件的战略,这其实从VS 2005和2008就已经逐步开始了,2010更进一强化了这战略...在启动了MTLM需要连接到TFS工程,这个工程必须是团队使用的工程,它保存了开发团队创建的用户需求工作项、代源代码等,Test Plan对象必须在这个工程上创建。...Configuration则是定义了Test Plan的各种执行环境配置。...这其中, Requirement映射到TFS的User Storey类型的工作项,而Test Case和Shared Step对应于Test Case和Shared Step工作项。

746100

存储世界,不止如此 : EB级存储引擎背后的技术

2、TFS家族诞生 TFS家族1.0整体设计中包含对开发,运维,资源管理等各个要素的考虑,并由各个相关要素的组件组成。...在内存中存取延时达到极致的us级别,支持超高并发的读写请求,普通单机可跑到30w/s读或11w/s 写。在加入多队列支持和10G网卡后单机性能超过100w/s。...热数据存储在内存集群,冷数据存储在成本更低的SSD存储集群有几个优点:用户访问是透明的,成本是降低的,体验是提升的。...文件索引保存文件的元信息(创建时间、修改时间、文件长度)、分片信息和业务自定义的blob字段。目录索引提供按照目录树组织的索引结构,索引中只保存文件、目录的元信息和在文件中的key。...业务有相关需求时,需要通过大量数据组织逻辑,以构建出适用的数据模型。

2.6K20

一直陪伴你成长的 QQ 相册后台长什么样?

在面对相册用户和请求量急速增长的过程中,部门针对性地研发了底层的TFS存储系统家族KV引擎进行支撑。...此外,针对用户行为进行分析,发现有大量的用户操作只是相册和图片列表,并没有去查看图片的详细信息。...对此,我们对用户索引进行了轻重分离,列表所需关键信息和其他详细信息分开存储,大大降低了每次操作平均读写的索引数据块大小。...比如一个用户的索引归属信息在上海,他在深圳出差期间,如果每次上传需要访问上海的服务器,延时很高。...为了给用户提供更好的下载体验,在用户上传相册后,我们会预先发送指令给CDN加速点通知它们图片进行缓存,当后续用户的好友进行访问时,能够快速加载,无需回源。

2.9K10

【52ABP实战教程】0.1-- Devops如何用VSTS持续集成到Github仓库!

介绍VSTS之前先说下TFS(Team Foundation Server)。 TFS是微软推出的一款ALM(Application Lifecycle Management)软件生命周期管理工具。...链接地址:https://github.com/ltm0203/aspnetcore 我们在VSTS中为项目创建一个自定义的通知消息,方法是利用VSTS的构建生成的URL,利用markdown的语法来完成...然后vsts中生成的徽章标记链接,粘贴到README.md文件中即可。...我们通过对队列任务这里你可以随意一个名字的进行修改,让项目编译更加的合理。修改为每提交一次才编译。...总结 以上就是利用Vsts自动编译构建项目的完成,然后在github项目中看到项目的构建状态! 核心是为了解决帮助大家在开发过程进行的日常编译问题。自动化构建

1.2K90

TFS(Team Foundation Server)介绍和入门

下表显示了两个默认的开发模型中不同工作项的分解: 敏捷模型驱动软件开发 能力成熟度集成模型软件开发 漏洞 服务要求的质量 风险 场景 任务 漏洞 改变请求 问题 需求 回想 风险 任务 在这样的情况下即使工作项的数目和名称存在差异...新定义的查询能够放在“团队查询”和“我的查询”这两个目录的不论什么一个。团队查询是一个可被项目小组中的全部开发者訪问的全局可訪问容器,我的查询是一个由每一个程序开发员全部的私有查询集。...我自己的方法是在我的数据驱动器的根文件夹上创建一个“沙盒”文件夹,在它的下级有一个子文件夹,将其命名为我连接到的TFSserver的名字。...(我连接到了多个TFSserver,因此一定要注意避免混淆)。 建立了映射之后,浏览源码控制浏览器将会列出源码树上逻辑位置的本地路径。至此你就能够加入�源码到这个容器中。...在本文的下一部分,我具体介绍搁置集,TFS中完好的分支支持,TFS是怎样支持自己主动生成的并介绍一下报告功能提供的功能。

5.2K20
领券