wespten
悦分享
网上搜索资料的朋友,一定都会有这样一个感受,那就是知识点有时太过零散,有时又存在误区,有时又太过简短,而有时又缺乏深度,一个系统又详细的分享小天地,为真正想去学习或了解某些事情的朋友,持续提供有价值且有深度的内容。
展开
-
大厂经典Jenkins+DevOps面试题整理汇总
持续集成(Continuous integration,缩写为 CI)是一种软件开发实践,团队开发成员经常集成他们的工作。利用自动测试来验证并断言其代码不会与现有代码库产生冲突。理想情况下,代码更改应该每天在 CI 工具的帮助下,在每次提交时进行自动化构建(包括编译,发布,自动化测试),从而尽早地发现集成错误,以确保合并的代码没有破坏主分支。持续交付(Continuous delivery,缩写为 CD)以及持续集成为交付代码包提供了完整的流程。原创 2023-02-20 15:26:56 · 2149 阅读 · 0 评论 -
Jenkins面试题合集
用最简单的术语来说,DevOps 是产品开发过程中开发(Dev)和运营(Ops)团队之间的灰色区域。DevOps 是一种在产品开发周期中强调沟通,集成和协作的文化。因此,它消除了软件开发团队和运营团队之间的孤岛,使他们能够快速,连续地集成和部署产品。持续集成(Continuous integration,缩写为 CI)是一种软件开发实践,团队开发成员经常集成他们的工作。利用自动测试来验证并断言其代码不会与现有代码库产生冲突。原创 2024-03-30 16:24:59 · 237 阅读 · 0 评论 -
中高级Kubernetes运维工程师经典面试题汇总
Consistency(一致性):所有节点在同一时间具有相同的数据;Availability(可用性):保证每个请求不管成功或者失败都有响应;Partition tolerance(分区容错性):系统中任意信息的丢失或失败不影响系统的继续运行;CAP 理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。原子性(Atomicity):整体不可分割性,要么全做要不全不做;一致性(Consistency):事务执行前、后数据库状态均一致。原创 2023-02-16 21:09:27 · 789 阅读 · 0 评论 -
180道大厂经典Kubernetes面试题整理汇总
Kubernetes是一个全新的基于容器技术的分布式系统支撑平台。是Google开源的容器集群管理系统(谷歌内部:Borg)。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。并且具有完备的集群管理能力,多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和发现机制、內建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制以及多粒度的资源配额管理能力。原创 2023-02-24 18:23:10 · 687 阅读 · 0 评论 -
大厂经典Docker面试题整理汇总
Docker是一个容器化平台,它以容器的形式将你的应用程序及所有的依赖项打包在一起,以确保你的应用程序在任何环境中无缝运行。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。Google Container Engine(GKE)是一个用于 Docker 容器和集群的开源管理平台。原创 2023-02-23 19:33:17 · 671 阅读 · 0 评论 -
企业级DevOps全链路自动化流水线综合解决方案详解
Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。Pipeline代码:Pipeline以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代其传送流程。持久:无论是计划内的还是计划外的服务器重启,Pipeline都是可恢复的。可停止:Pipeline可接收交互式输入,以确定是否继续执行Pipeline。原创 2022-12-16 12:06:07 · 1217 阅读 · 0 评论 -
企业级DevOps容器云平台流水线综合解决方案详解(二)
K3s是一个轻量级的 Kubernetes 发行版,它针对边缘计算、物联网等场景进行了高度优化。我们希望安装的 Kubernetes 在内存占用方面只是一半的大小。Kubernetes 是一个 10 个字母的单词,简写为 k8s。所以,有 Kubernetes 一半大的东西就是一个 5 个字母的单词,简写为 k3s。k3s 没有全称,也没有官方的发音。K3s - 轻量级 Kubernetes | Rancher文档Kubernetes(k8s)中文文档 目录_Kubernetes中文社区。原创 2022-12-19 17:54:45 · 810 阅读 · 1 评论 -
企业级DevOps容器云平台流水线综合解决方案详解(一)
Jenkins pipeline (流水线)是一套运行于 jenkins 上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。它把持续提交流水线(Continuous Delivery Pipeline)的任务集成到 Jenkins 中。Pipeline 是 jenkins2.X 最核心的特性, 帮助 jenkins 实现从 CI 到 CD 与 DevOps 的转变。原创 2022-12-19 10:53:42 · 1014 阅读 · 0 评论 -
开发运维(DevOps)自动化运维与持续交付企业级实战
Jenkins是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins非常易于安装和配置,简单易用。Jenkins 是一个独立的、基于 Java 的应用程序,需要自己安装和维护,支持 Windows、Mac OS X 和其他类 Unix 的操作系统;凭借更新中心中的数百个插件,Jenkins 几乎集成了持续集成和持续交付工具链中的所有工具;Jenkins 可以通过插件进行扩展,这为 Jenkins 提供了几乎无限的可能性;原创 2022-12-10 16:06:05 · 1174 阅读 · 1 评论 -
基于Jenkins+Kubernetes+harbor+gitlab构建DevOps平台实战
DevOps是一套完整的运维开发流程,可以实现快速的构建、测试和发布软件,整个流程包括敏捷开发->持续集成->持续交付->持续部署->DevOps,通过 Kubernetes,我们可以实现容器在多个计算节点上的统一调度,可以将容器对接到持久存储、虚拟网络,还可以实现弹性伸缩等,提高了产品的迭代速度。多集群管理多环境一致性。原创 2024-01-29 07:27:59 · 447 阅读 · 0 评论 -
基于Kubernets+Prometheus+ELK企业级CICD平台建设方案
云原生 = 微服务 + DevOps + 持续交付 + 容器化为什么选择云原生:云原生核心优势:解耦软件开发,提高灵活性和可维护性基于容器镜像的软件分层,清晰的依赖管理;玻璃程序、配置和微服务,让开发者聚焦业务发展;通过拆分应用程序为微服务和明确的依赖描述;多云支持,避免厂商锁定厂商基于标准接口提供服务,互操作性强;开源为主,丰富的标准软件生态,用户多样选择;支持在混合云、私有云或混合云部署;避免侵入式定制基于k8s松耦合平台架构,易扩展;原创 2022-10-14 12:25:37 · 1530 阅读 · 0 评论 -
基于OpenShift容器云平台的CI/CD
Openshift是红帽的云开发平台即服务(PaaS),底层以Docker作为容器引擎驱动,以k8s作为容器编排引擎组件,openshift提供了开发语言、中间件、自动化流程工具及界面等元素,提供了一套完整的基于容器的应用云平台。自由和开放的云计算平台使开发人员能够创建、测试和运行他们的应用程序,井且可以把它们部署到云中。Openshift广泛支持多种程语言和框架,如Java、Ruby和PHIP等。原创 2022-12-13 20:35:46 · 678 阅读 · 0 评论 -
基于Kubernetes容器云平台的CI/CD
基于 Kubernetes 实现 CI/CD 配置,其实和往常那些 CI/CD 配置并没有太大区别。都是通过 提交代码,拉取代码,构建代码,发布代码来实现的。只不过要是通过 K8s 来实现的话,则是需要将构建好的代码打包成镜像,通过镜像的方式来运行。原创 2022-12-13 20:34:20 · 2213 阅读 · 0 评论 -
Jenkins+Kubernetes企业级DevOps容器云平台
主 Master 发生单点故障时,整个流程都不可用了每个 Slave 的配置环境不一样,来完成不同语言的编译打包等操作,但是这些差异化的配置导致管理起来非常不方便,维护起来也是比较费劲资源分配不均衡,有的 Slave 要运行的 job 出现排队等待,而有的 Slave 处于空闲状态资源有浪费,每台 Slave 可能是物理机或者虚拟机,当 Slave 处于空闲状态时,也不会完全释放掉资源。原创 2022-12-17 09:44:10 · 803 阅读 · 0 评论 -
Kuberneters企业级容器云平台落地实践之二
Filebeat 是一个用于转发和集中日志数据的轻量级传送器。作为代理安装在您的服务器上,Filebeat 监控您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或 Logstash以进行索引。以下是 Filebeat 的工作原理:当您启动 Filebeat 时,它会启动一个或多个输入,这些输入会在您为日志数据指定的位置中查找。对于 Filebeat 定位的每个日志,Filebeat 都会启动一个收割机。每个harvester 读取单个日志以获取新内容并将新日志数据发送到libb原创 2022-10-13 16:19:27 · 1668 阅读 · 0 评论 -
Kuberneters企业级容器云平台落地实践
Kubernetes是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务。通过Kubernetes能够进行应用的自动化部署和扩缩容。在Kubernetes中,会将组成应用的容器组合成一个逻辑单元以更易管理和发现。Kubernetes积累了作为Google生产环境运行工作负载15年的经验,并吸收了来自于社区的最佳想法和实践。Kubernetes经过这几年的快速发展,形成了一个大的生态环境,Google在2014年将Kubernetes作为开源项目。原创 2022-10-13 15:17:57 · 1515 阅读 · 0 评论 -
Pytest+Unittest+Git+Jenkins企业级CICD自动化测试平台建设方案
随着持续集成的引入,项目中的自动化测试用例越来越多,每轮执行所消耗的时间也越来越久。要提高自动化测试用例执行的效率,以下几点是需要考虑的根本点。(1)公司项目的交付策略如何首先,测试团队服务于公司项目,因此我们必须根据公司项目的交付策略做对应的调整。例如你所在的团队会在发版前两天进行封版,那么就有足够的时间去执行自动化测试;如果你所在的团队在临上线前一小时还在改代码,这时想要去执行所有编写的自动化测试用例,必然会时间短缺。(2)测试团队的自动化测试策略如何UI自动化测试和接口测试有不同的优缺点。根据公司项目原创 2022-10-25 15:20:40 · 4854 阅读 · 0 评论 -
Docker+Jenkins+Selenium+Pytest+JMeter持续集成交付实战
Jenkins在每一次的执行构建后,都会对该构建的项目生成一个历史构建记录,测试的项目越来越多,长期的构建,历史版本同样也越来越多。在测试报告XML,进入如下图所示的位置。持续部署的主要部分,是确保其上面所示的整个过程是自动化的,Jenkins实现所有这些是通过各种各样的插件,其中一个是“Deploy to container Plugin”。使用什么系统安装的docker,一般则是用什么方式安装软件,替换源的方式,会有些许区别,如centos用yum安装,ubuntu用apt-get。原创 2022-12-12 16:55:18 · 643 阅读 · 0 评论 -
Jenkins搭建K8s持续集成流水线企业级实战
在配置 kubernetes 连接内容的下面,还需要配置Pod Templates ,这里的模板名称和标签列表不是 Pod 的 name 和 label,这里的名称和标签列表只是 Jenkins 查找选择模板时使用的,Jenkins自动创建 Pod 的name是项目名称+随机字母的组合,所以我们填写jenkins-slave,命名空间填写对应的namespace,也可以不填写,不填写默认是default。第一次启动Jenkins时,出于安全考虑,Jenkins会自动生成一个随机的安装口令。原创 2023-08-26 19:16:47 · 473 阅读 · 0 评论 -
Kubernets+Jenkins+Harbor 持续集成交付实战
Kubernetes简称K8S,是一个全新的基于容器技术的分布式架构领先方案,基于容器技术,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用率的最大化。如果我们的系统设计遵循了kubernetes的设计思想,那么传统系统架构中那些和业务没有多大关系的底层代码或功能模块,都可以使用K8S来管理,我们不必再费心于负载均衡的选型和部署实施问题,不必再考虑引入或自己开发一个复杂的服务治理框架,不必再头疼与服务监控和故障处理模块的开发。原创 2022-10-14 13:47:55 · 817 阅读 · 0 评论 -
Docker+Jenkins+Harbor 持续集成交付实战
1.代码上传到gitlab -> 2.从gitlab拉取源码->3.使用Dockerfile编译、生成镜像->4.上传到Harbor镜像仓库-> 5.拉取镜像和发布应用。添加参数,字符参数;Jenkins->Manage Jenkins->Manage Plugins,点击Available,搜索"Chinese"。Jenkins->Manage Jenkins->Manage Plugins,点击Available。项目-> 配置-> 添加参数-> Extended Choice Parameter。原创 2022-09-22 14:01:40 · 782 阅读 · 0 评论 -
Docker+Jenkins+Golang 持续集成交付实战
最近因公司发展需要,增加了一些go语言开发,对项目要求使用jenkins+go+docker自动部署上线。原创 2022-10-15 19:02:31 · 1122 阅读 · 0 评论 -
Docker+Jenkins+GIT CICD持续化集成实战
Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术,Jenkins是一种软件允许持续集成。持续、自动地构建/测试软件项目。监控软件开放流程,快速问题定位及处理,提示开放效率。开源的java语言开发持续集成工具,支持CI,CD。易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理。原创 2022-10-13 00:23:49 · 342 阅读 · 0 评论 -
Jenkins管理Docker容器
把Dockerfile放在/docker/nginx目录下,使用docker build来创建新的image,并命名为ttd:nginx使用新创建的ttd:nginx镜像,生成一个容器实例。原创 2022-12-12 09:10:36 · 466 阅读 · 0 评论 -
接口测试持续集成实战
其他形式的内容都会被禁止:JavaScript、plugins (object/embed)、HTML中的内联样式表和引用的外站CSS文件、HTML中的内联图片和外站引用的图片文件等等。打开系统管理->系统设置,在'全局属性'添加'环境变量'。打开浏览器并访问http://localhost:8080/ 进入启动页后,这里需要一个密码进行验证,密码所在的位置会在页面上标有,直接打开这个文件就可以看到密码。在打开的环境变量窗口中,点击【系统变量】区域的【新建】按钮,开始进行CLASSPATH的设置。原创 2023-05-06 13:52:11 · 218 阅读 · 0 评论 -
接口测试持续集成详解
持续集成简介持续集成(Continuous Integration,简称CI)是一种软件开发实践,即团队开发成员经常集成他们的工作, 通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。持续集成的目的:让产品可以快速迭代,同时还能保持高质量。Git是一个分布式版本控制系统(Version Control System,VCS)。版本控制是一种在开发过程中用于管理和备份对文件、目录、工程等内容的修改,以方便查看历史记录和恢复以前版本的软件工程技术。原创 2023-05-05 15:38:57 · 337 阅读 · 0 评论 -
构建基于表单UI配置的(接口、UI、APP、Jmeter) 测试项目实战
在Jenkins建立一份作业来执行一个简单的 HelloWorld 应用程序,构建和运行Java程序。1. 转到Jenkins 仪表板,然后单击新建项目(New Item):2. 在接下来的屏幕上,输入项目名称,在这种情况下,我们把它命名为:test_hello。选择“Freestyle project option”:3. General 详细配置:4. 构建配置:5. 保存后,测试任务配置完毕。原创 2024-01-31 06:27:40 · 90 阅读 · 0 评论 -
Selenium结合Jenkins进行持续集成
若由人工触发自动化测试,则存在较多沟通环节,这要求团队的每个成员都遵守相应的流程与操作规范。而人工的操作,会导致自动化测试的执行不一定准确与及时,即使经过再三强调和定期培训,但由于人员流动或测试人员专注于其他任务,流程的执行依然会大打折扣,很容易遗漏自动化测试的执行。总而言之,由人来触发某种流程中的操作,不可控性太高,无法完全发挥自动化测试的功效。要使自动化测试顺利实施,适合的流程及配套工具必不可少。原创 2022-11-21 14:00:13 · 1158 阅读 · 0 评论 -
Robot Framework结合Jenkins进行持续集成
Jenkins是一个功能非常强大的持续集成和持续交付的开源项目,几乎可以处理任何类型的自动构建或者持续集成。Jenkins可以用于自动化部署,也可以用于自动化测试的调度。Jenkins很多工作都可以放到Jenkins来进行,最终实现一个完整的流程。用户可以通过登录到Jenkins的Master管理界面中去进行节点的配置管理、Jenkins的插件管理、Job任务的配置和分发、Jenkins用户的管理、系统运行的监控以及Jenkins的系统全局设置等操作。原创 2022-11-24 14:51:33 · 930 阅读 · 0 评论 -
Jenkins+RebotFramework 持续环境集成
Jenkins是基于Java开发的持续集成系统(CI),所以运行环境必须安装JDK,安装JDK的方法有很多种,有些Linux系统可能会自带openjdk,需要注意的是较新版本的jenkins并不支持低版本的JDK.2、填写数据,并发数填1,远程工作目录是设置此节点远程工作目录的路径,在这个节点上运行的Job都会保存到工作目录里,此配置项必须设置;在D盘新建一个目录即可。1、在Jenkins首页的左侧菜单栏,点击新建任务,输入一个任务名称,并选择“构建一个自由风格的软件项目”,点击确定进入配置Job页面。原创 2022-07-06 07:18:24 · 490 阅读 · 0 评论 -
Jenkins+SonarQube 代码质量检测详解
Sonar Qube是一个开源的代码分析平台,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,可以检测出重复代码、代码漏洞、代码规范和安全性漏洞的问题。Sonar Qube通过插件机制,Sonar可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Maven,Gradle,Git,Jenkins,并且会将代码检测结果推送回Sonar Qube并且在系统提供的UI界面上显示出来。原创 2022-12-11 12:16:08 · 1235 阅读 · 0 评论 -
Jenkins 代码检查实战
3. SonarQube设置Webhooks,不同代码规模的源码,分析过程的耗时是不一样的。可以看出它是针对新代码的。3. SonarQube:创建p3c profile,单击SonarQube顶部的”Quality Profiles”,然后单击面右上角的”Create”按钮,输入新profile名称,选择Java语言。必须在所有做代码规范检查的地方使用同一套规范,而SonarQube默认使 用的是它自带的规范( SonarQube称为规则),所以也需要设置SonarQube使用p3c的规范。原创 2024-01-31 06:17:59 · 97 阅读 · 0 评论 -
Jenkins 性能测试实战
以上配置很简单,就是执行一个名为simple的场景( scenario) ,这个场景就是执行现有的JMeter脚本。只有params参数是必需的,其他参数都是可选的。3. 不需要自行安装Taurus,Performance插件如果发现机器上没有安装Taurus,它会自动运行pip install bzt命令进行安装。Jenkins的Performance插件就是使用Taurus来进行性能测试的。blaze_exist_jmeter_config.yml是Taurus的配置文件,用于描述如何进行性能测试。原创 2024-01-31 05:39:57 · 91 阅读 · 0 评论 -
Jenkins 单元测试实战
最后看项目的重要程度,如果这个项目在整个架构中起着非常重要的作用,那么覆盖率要求会高一些。**/targetlsurefire-reports/*.xml表示只要是target/surefire-reports目录下的XML文件就会被当作JUnit测试报告处理,而不论target在哪个层级的目录下。在我们的例子中,我们进入了一个负面的测试情况下,这样的结果只会失败,作为一个例子。JaCoCo是一个免费的Java代码覆盖率的库,能帮助我们检测出代码覆盖率,并输出覆盖率报告。可以到控制台输出中看到更多的信息。原创 2024-01-31 06:17:00 · 296 阅读 · 0 评论 -
Jenkins 自动化测试实战
一个持续集成的基本原则是构建应该是可验证的。你必须能够客观地确定一个特定的构建是否准备就绪构建过程的下一个阶段,最便捷的方式做到这一点是使用自动化测试。如果没有适当的自动化测试,会发现自己不得不保留许多手动生成工件,这几乎是在持续集成测试。下面的例子演示了如何使用Selenium运行自动化的Web测试。在这里,suiteFile是使用selenium IDE生成TestSuite。现在后生成将启动 selenium 驱动程序,并执行HTML测试。重新启动 Jenkins 实例。原创 2024-01-31 05:40:22 · 68 阅读 · 0 评论 -
Jenkins自动化构建网站与流水线构建Maven项目实战
pipeline流水线服务,简单来说,是使用特定脚本的方式来进行构建,可以减少了构建失败的次数,其实就是将部署过程自动化,以脚本的形式实现自动批量执行。当有代码提交到代码库后, Jenkins通过webhook url触发机制,自动实现代码拉取与后续的构建操作。Jenkins从gitlab代码库拉取项目代码,并且分发到远程的多个服务器上。添加Jenkins的公钥,让Jenkins可以从gitlab上拉取代码。将Jenkins公钥的内容拷贝到要部署网站的服务器上。原创 2023-08-05 16:34:35 · 136 阅读 · 0 评论 -
Jenkins API开发企业级实战
共享库由名称、源代码检索方法(如:SCM)和可选的默认版本定义。该名称应该是一个简短的标识符,因为它将在脚本中使用。该版本可以是该 SCM 可以理解的任何内容;例如:分支、标签和提交哈希都适用于 Git。您还可以声明脚本是否需要显式请求该库,或者它是否默认存在。此外,如果您在 Jenkins 配置中指定版本,您可以阻止脚本选择不同的版本。指定 SCM 的最佳方式是使用 SCM 插件,该插件经过专门更新以支持新的 API 以检查任意命名版本(Modern SCM 选项)。原创 2022-12-20 18:42:15 · 1385 阅读 · 0 评论 -
Jenkins API接口详解
Jenkins对外暴露的动作交互入口,为外部程序提供入口,从而可以控制Jenkins。支持协议- Http,API接口支持用户名、密码认证等。Jenkins API支持的典型功能:运行Job,查看任务状态,返回任务编号。原创 2024-01-31 05:39:33 · 287 阅读 · 0 评论 -
Jenkins DevOps持续交付实战
我们不讨论它们的好坏,但不论使用哪种分支管理方法,都可能会涉及一个问题:如何根据不同的分支做不同的事情,比如根据不同的分支部署到不同的环境。插件List Git Branches可以根据选项获取远程仓库的分支或者tag,形成列表选项,除了在job进行图形配置,还可以通过pipeline进行配置,在job过百的情况下搭配共享库会很方便。Jenkins在构建记录中,是可以看到谁点的构建的,但pipeline中的全局变量,默认是不支持获取当前构建任务的构建人的,要想获取构建人的信息,只能通过插件来帮助我们获取。原创 2022-08-27 00:01:18 · 1253 阅读 · 0 评论 -
Jenkins安装部署与自动化部署网站实战
互联网软件的开发和发布,已经形成了一套标准流程,假如把开发工作流程分为以下几个阶段:编码 → 构建 → 集成 → 测试 → 交付 → 部署在上图中看到,持续集成(Continuous Integration)、持续交付(Continuous Delivery)和持续部署(Continuous Deployment)有着不同的软件自动化交付周期。1. 持续集成(CI)上面整个流程中最重要的组成部分就是持续集成(Continuous integration,简称CI):编码 → 构建 → 集成 → 测试。原创 2023-08-02 07:55:58 · 124 阅读 · 0 评论