精华内容
下载资源
问答
  • CI/CD

    2020-07-31 11:11:37
    CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。 CI/CD 中的“CD”指的是持续交付和/或持续部署,这些相关概念有时会交叉使用。两者都事...

    CI 持续集成(Continuous Integration)

    CD 持续交付(Continuous Delivery)

    CD 持续部署(Continuous Deployment)

    CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。

    CI/CD 中的“CD”指的是持续交付和/或持续部署,这些相关概念有时会交叉使用。两者都事关管道后续阶段的自动化,但它们有时也会单独使用,用于说明自动化程度。

    CI/CD 其实就是一个流程(通常形象地表述为管道),用于实现应用开发中的高度持续自动化和持续监控。因案例而异,该术语的具体含义取决于 CI/CD 管道的自动化程度。许多企业最开始先添加 CI,然后逐步实现交付和部署的自动化。

    参考https://www.redhat.com/zh/topics/devops/what-is-ci-cd

    展开全文
  • ci /cd 对于连续集成/连续部署(CI / CD)和DevOps来说,这是非常棒的一年。 Opensource.com的作者分享了他们专注于无缝,灵活和可扩展部署时如何朝着敏捷和混乱的方向发展。 以下是我们今年发布的CI / CD文章中的...

    ci /cd

    对于连续集成/连续部署(CI / CD)和DevOps来说,这是非常棒的一年。 Opensource.com的作者分享了他们专注于无缝,灵活和可扩展部署时如何朝着敏捷和混乱的方向发展。 以下是我们今年发布的CI / CD文章中的一些重要主题。

    学习和提高您的CI / CD技能

    我们最喜欢的一些文章着重于动手CI / CD的经验,并且涵盖了很多方面。 开始的地方始终是Jenkins管道,Bryant Son的使用JenkinsBuilding CI / CD管道将为您提供足够的经验,以开始构建您的第一个管道。 Daniel Oh的DevOps管道自动化用户接受测试提供了有关接受测试的重要信息,包括可用于测试的各种CI / CD应用程序。 我的有关安全性扫描您的DevOps管道的文章非常简短,以至于关于如何使用Jenkins平台在管道中设置安全性的教程。

    交付流程

    螺丝刀:可扩展的构建平台,可连续交付 艾米莉·伯恩斯(Emily Burns)在Spinnaker与CI / CD息息相关的原因中解释了如何灵活地根据自己的CI / CD工作流程构建所需的内容。 威利·彼得·绍布(Willy-Peter Schaub)赞扬为所有产品创建统一流水线的想法,以使每种产品一个CI / CD流水线中始终如一地建立起来, 以统治所有产品 这些文章将使您更好地了解团队成员加入工作流程之后的情况。

    CI / CD如何影响组织

    2019年也是认识到CI / CD的业务影响以及它如何影响日常运营的一年。 Agnieszka Gancarczyk分享了Red Hat的小型Scrum与大型Scrum调查的结果,包括受访者对Scrum ,敏捷运动及其对团队的影响的不同看法。 Will Kelly讲述了持续部署如何影响整个组织 ,包括开放式通信的重要性,而Daniel Oh强调了DevOps团队3种类型的指标仪表板中指标和可观察性的重要性。 最后但并非最不重要的一点是,安·玛丽·弗雷德(Ann Marie Fred)的精彩文章不在生产中进行测试? 在生产中进行测试! 详细说明了为什么在客户之前进行产品测试对您来说很重要。

    我们感谢在2019年与Opensource.com读者分享了他们的见解的许多撰稿人,我期待从他们那里了解到2020年CI / CD的发展。

    翻译自: https://opensource.com/article/19/12/cicd-resources

    ci /cd

    展开全文
  • ci /cd 在软件设计和开发中,加快速度的关键是称为CI / CD的操作原理和实践的集合,它结合了持续集成(CI)和持续交付(CD)。 CI / CD使软件开发团队可以更频繁,更可靠地交付代码更改,从而更快地满足业务及其客户...

    ci /cd

    在软件设计和开发中,加快速度的关键是称为CI / CD的操作原理和实践的集合,它结合了持续集成(CI)和持续交付(CD)。 CI / CD使软件开发团队可以更频繁,更可靠地交付代码更改,从而更快地满足业务及其客户的需求。

    持续集成是一种编码哲学和一套实践,旨在驱动开发团队进行少量更改,并经常将代码检入版本控制存储库。 鉴于当今大多数应用程序要求团队使用不同的平台和工具来开发代码,因此团队需要一种方法来集成和验证其更改。

    [ 同样在InfoWorld上:什么是CI / CD? 持续集成和持续交付的解释 ]

    持续集成的目的是创建一种一致,自动化的方式来构建,打包和测试软件应用程序。 集成过程中的一致性使开发团队可以更频繁地实施代码更改,从而提高了协作和软件质量。

    同样在本系列中:

    持续集成之后的持续交付使应用程序自动交付到选定的基础架构环境。 如今,大多数开发团队除了在生产环境中(包括测试环境)外,还在多种环境中工作,并且持续交付可确保采用自动方式将代码更改推送到这些各种环境中。

    持续集成和持续交付需要持续测试,因为目标是向最终用户交付高质量和安全的应用程序和代码。 连续测试通常被部署为在管道内执行的一组自动化回归,性能和其他测试。

    CI和CD在一起(CI / CD)包含一种文化,一套操作原则和一组加速软件开发过程的实践。 该实现也称为CI / CD管道,被认为是devop团队的最佳实践之一。

    行业专家表示,越来越多的组织正在实施CI / CD,因为它们希望增强内部或客户使用的软件应用程序的设计,开发和交付。

    研究公司Gartner的副总裁兼分析师Sean Kenefick说:“我们肯定会看到CI / CD的使用正在增加。” “我个人一直在询问有关持续开发,测试和发布的问题。”

    [ 同样在InfoWorld上:什么是敏捷方法论? [现代软件开发讲解 ]

    Kenefick说,Gartner最近的“企业敏捷”调查显示,越来越多的团队在进行敏捷开发 ,并且敏捷团队在持续集成,自动化验收测试和开发方面的执行率明显更高。

    Kenefick说:“我认为CI是创建自动化管道的自然起点,而这正是团队倾向于开始的领域。” “ CD更困难的方面是需要自动化测试和应用程序的重新架构,以便可以单独测试和发布少量功能。”

    云解决方案高级主管Josh Quint说,实际上,云咨询公司ServerCentral Turing Group参与的所有新软件项目都使用了一定程度的CI / CD。

    这种趋势背后的核心驱动力是无服务器计算基础架构需要CI / CD集成。 安全要求要求开发人员登录生产基础架构的权限有限或没有登录; Quint说,敏捷方法需要更快的部署和测试周期。

    CI / CD已成为许多参与开发的组织的主流策略。

    “持续集成,全面的自动化测试和持续交付等技术专长只能一次由髋关节掌握,而现在,传统企业已成功地完成了时尚的初创企业。”持续部署能力的技术总监Hasan Yasar说,在卡内基梅隆大学软件工程学院(SEI)任职。

    以下是一些建议的实施和维护CI / CD策略的做法。

    [ 同样在InfoWorld上:如何在敏捷软件开发中脱颖而出 ]

    尽早让主要利益相关者参与CI / CD

    Yasar说,最好在开发初期尽可能早地让所有开发项目的利益相关者参与。

    Yasar说:“最大的好处是,在项目的每个阶段,所有利益相关者的参与都可以做出发展决定。” 例如,IT运营人员将在体系结构决策中拥有发言权,因此开发人员可以在经过IT批准的基础架构上进行开发。

    Yasar说:“这应该在所有类型的利益相关者的所有决策中完成,以便所有重大决策都可以由会议室内的专家做出。” “这种做法大大减少了整个项目生命周期中通常累积的技术债务。”

    选择并实施正确的CI / CD系统-并继续实施

    容器安全技术提供商StackRox的资深开发工程师Josh Komoroske说,市场上的CI / CD系统可以为组织提供具体的价值,并且它们的使用表明工程/产品组织的健康程度。

    “如果构建,测试和部署新功能变得微不足道,那么(一个)组织应对变化的能力就会大大提高,”负责StackRox的CI / CD流程的Komoroske说。 “如果要花几周甚至几个月的时间才能在您的客户面前取得成功,那么其他人将能够并会做得更好。”

    但是,公司在研究支持CI / CD流程的软件时需要进行足够的研究。 “由负责产品技术指导,寿命或健康状况的人专门花一些时间研究生态系统和可用的解决方案,” Komoroske说。 “请他们征求该产品开发人员的意见。 他们将成为CI / CD系统的主要客户,因为他们每天都会处理它。”

    [ 也在InfoWorld上:什么是Scrum Master? 敏捷开发领导者定义 ]

    一旦组织选择了这样的系统,就需要避免废弃的问题。 “这些解决方案中的大多数都可以免费试用,并且可以与GitHub之类的平台集成,” Komoroske说。 “设置一个集成,并使其开始构建某些东西。 自动执行构建,测试或部署。 当人们看到这些系统为其工作流程提供价值时,他们自然会开始将更多任务迁移到它们上。”

    将全面的自动化测试与手动批准相结合

    Kenefick说,连续交付基本上由四个主要部分组成:

    • 重新架构以进行隔离
    • 测试自动化
    • 创建自动化流程管道
    • 自动化环境的供应和配置

    他说:“这四个组成部分相当笼统,可能需要许多单独的实践来实现它们。”

    例如,为了使测试自动化,团队将专注于测试优先方法,以加强自动化单元测试和功能测试的创建。 创建一组自动回归,性能和安全性测试; 并进行自动化测试,以确保正确配置了环境和业务流程平台。

    Kenefick说:“没有任何一项测试比其他测试更重要,这都是非常重要的。” Kenefick说:“并且应该与其他质量实践相结合,例如使用静态分析工具,确保通过拉动请求进行同行评审以及使用持续集成管道。”

    Quint说,确保在部署过程中的关键时刻有手动批准步骤。 他说:“手动批准步骤可以防止未经测试或未经批准的代码进入生产环境或更高的测试环境。” “这还使您可以控制代码到达关键环境的时间。”

    [ 也在InfoWorld上:Devops最佳实践:应该采用的5种方法 ]

    跟踪指标以确保CI / CD成功

    与大多数其他技术和流程部署一样,CI / CD并非“一劳永逸”的主张。

    “在构建/测试/部署周期中,可以洞悉时间和脆弱性,” Komoroske说。 “确定优化和改进的领域和机会。 快比慢要好,但是可靠性和正确性要比速度快。”

    Komoroske说,CI / CD流程和相关工具应被视为“力量倍增器”,从减少工程设计,测试时间和缩短产品上市时间方面获得回报。

    通过采用CI / CD,组织可以在开发和工程上实现可衡量的改进,并且他们应该衡量这些改进并随时间进行性能比较。

    协作软件提供商Altimetrik的工程主管Farid Roshan说:“ Devops建立在持续学习和改进的前提下,大多数组织在采用CI / CD的初期就忽略了它。” 他说,公司应该在CI / CD工具上进行数据清单,以帮助确定在整个开发过程中要衡量的关键绩效指标,绩效目标和分析。

    [ 同样在InfoWorld上:如何将测试自动化与敏捷和devop结合使用 ]

    了解采用CI / CD的业务驱动力,并考虑未来需求

    对于组织而言,重要的是要理解为什么它实际上需要采用CI / CD,以便组织的开发团队能够建立必要的能力,以确保实现关键目标。

    “正确完成后,CI / CD可以改善   开发人员的生产力,交付框架的优化,运营效率和敏捷转换。” Roshan说。

    Roshan说,第一代CI / CD平台是作为业务流程服务开发的,该服务将整个产品生命周期中的流程连接起来,以提高生产率。 但是,根据开发代码所需的时间,这样的平台可能不会产生强大的投资回报(ROI)。

    Roshan说:“现代CI / CD功能采用模块化架构,允许采用“即插即用”采用模型,并具有可配置的管道,以支持各种交付框架。 适当地将流水线作为代码实现,可使工程团队开发高级功能以满足业务当前的需求。 但是预测将来的需求也很重要。

    “为您的业务目标未来状态开发CI / CD功能,” Roshan说。 “在基于现有流程的筒仓中采用devops CI / CD将导致[工具采用]分散,缺乏标准化,并且将为实现交付敏捷性提供最小的ROI。 这种失误会在整个企业中产生连锁React。”

    [ 通过InfoWorld Daily新闻通讯了解软件开发,云计算,数据分析和机器学习方面的最新发展 ]

    在任何有意义的地方实现自动化

    Yasar说,作为CI / CD的一部分,组织应该使可以自动化的东西自动化,并清楚地描述不能自动化的事情。 他说:“自动化是devop的Struts之一,并且是从实现CI / CD的devops实现中获得的主要好处之一。”

    通过“基础架构即代码”(IaC)的实践,SEI推荐的敏捷开发方法成为可能-使用devops团队用于源代码的相同版本控制方法来管理基础结构组件(例如网络,虚拟机和负载均衡器),并通过自动化各种环境。

    Yasar说:“组织可以采用流程和实践来启用IaC,包括配置管理,环境供应等。” “目标是将所有自动化程序都视为代码,并存储在安全的版本控制系统中。”

    理想情况下,基础结构代码与应用程序代码存储在同一存储库中,操作团队和其他利益相关者可以随时访问它。

    翻译自: https://www.infoworld.com/article/3513499/how-to-get-started-with-cicd.html

    ci /cd

    展开全文
  • 近十年来,持续集成(Continuous Integration,CI)和持续交付(Continuous Delivery,CD)领域...在所有可选的用于测试的 CI/CD 工具中,Jenkins 和 GitLab CI/CD 是你肯定应该考虑的两款工具。Jenkins 在 GitHub 上有

    近十年来,持续集成(Continuous Integration,CI)和持续交付(Continuous Delivery,CD)领域都取得了很大的进步。DevOps 测试的兴起导致了对 CI/CD 工具的快速需求。现有的解决方案总是随着时间的推移而改进,大量新产品或新版本正在进入 QA 领域。当你手头有这么多选项时,选择正确的工具确实会有一点儿挑战。

    在所有可选的用于测试的 CI/CD 工具中,Jenkins 和 GitLab CI/CD 是你肯定应该考虑的两款工具。Jenkins 在 GitHub 上有 16,000+ 点赞,而 GitLab CI/CD 有 2012 个点赞。Jenkins 的点赞数是 GitLab CI/CD 的点赞数的 8 倍多。

    然而,这些数字并不是选择一款 CI/CD 工具时需要查看的唯一东西。这也是尽管在点赞数上有巨大的差距,Jenkins vs GitLab CI/CD 在多个评审平台上还有着激烈的竞争。以 G2 为例,Jenkins 在 G2 上平均评分为 4.3 星,有 288 条评论;GitLab CI/CD 在 G2 上的平均评分为 4.4 星,有 270 条评论。可以说,Jenkins vs GitLab CI/CD 是一场旗鼓相当的竞争。有趣的是,Jenkins 是在 2011 年发布的,而且在 CI/CD 业务上,它一直是测试人员的首选。然而,自 2014 年发布以来,GitLab CI/CD 一直凭借尖端的功能而高居榜首。我们在发布这篇文章时,在社交媒体上进行了一次民意调查。

    另一个被提到最多的工具是 GitLab CI/CD。作为一个 DevOps 测试专家,你需要根据你自己的项目、预算和其它需求来仔细审查这些工具。为了帮助你,我将对 Jenkins vs GitLab CI/CD 做一个深入的评估,帮助你确定合适的 CI/CD 工具来满足你的项目需求。

    1. Jenkins 介绍

    Jenkins 是一款著名的可扩展的用于自动化部署的开源 CI/CD 工具。Jenkins 是完全用 Java 编写的,是在 MIT 许可下发布的。它有一组强大的功能,可以将软件的构建、测试、部署、集成和发布等相关任务自动化。这款用于测试的自动化 CI/CD 工具可以在 macOS、Windows 和各种 UNIX 版本(例如 OpenSUSE、Ubuntu、Red Hat 等)系统上使用。除了通过本地安装包安装,它还可以在任何安装过 Java 运行时环境(Java Runtime Environment,JRE)的机器上单独安装或者作为一个 Docker 安装。Jenkins 团队还有一个子项目叫做 Jenkins X,专门运行一个与 Kubernetes 无缝衔接的开箱即用的 pipeline。Jenkins X 巧妙地集成了 Helm、Jenkins CI/CD 服务器、Kubernetes 以及其它一些工具,来提供一个内置最佳实践的规范的 CI/CD 工具 pipeline,例如使用 GitOps 来管理环境。使用 Jenkins 的一个加分点是,其脚本结构良好、易于理解并且可读性很强。Jenkins 团队已经开发了近 1000 个插件,使得应用程序可以与其它熟悉的技术混合使用。除此之外,还可以使用 Credentials Command 之类的插件。这使得向脚本中添加隐藏的身份验证凭证等变得简单可行。一旦 Jenkins pipeline 开始运行,你还可以验证每个阶段通过与否以及每个阶段的总数。但是,你不能在提供的图形化概览中检查特定作业的状态。你可以做的是跟踪终端中的作业进度。

    2. Jenkins 核心特性

    Jenkins 以其易于配置、自动化构建过程和它向用户提供的大量文档而闻名。当谈到 DevOps 测试时,Jenkins 被认为是非常可靠的,而且没必要监视整个构建过程,而对于其它 CI/CD 工具则不会这么放心。

    让我们看看 Jenkins 提供的一些最重要的特性:

    1. 免费、开源且易安装

    Jenkins 在 macOS、Unix、Windows 等平台上都非常容易安装。它可以与 Docker 结合,为自动化作业带来更高的一致性和额外的速度。它可以可以作为一个 servlet 运行在 Apache Tomcat 和 GlassFish 这样的 Java 容器中。你可以找到许多支持和文档来指导整个安装过程。

    1. 广泛的插件生态系统

    这个工具的插件生态系统相比于其它 CI/CD 工具来说更成熟。目前,这个生态系统提供了 1500+ 插件。由于这些插件的范围从特定语言开发工具到构建工具,这使得定制化变得非常简单便利。因此,你不需要购买昂贵的插件。Jenkins 插件集成也适用于一些 DevOps 测试工具。

    1. 易于安装和配置

    这个工具的配置过程非常简单,只需要在安装时操作一些步骤。Jenkins 的升级过程也不麻烦且非常直接。而且其提供的支持文档对于你根据自己的需求配置工具也帮助很大。

    1. 有用的社区

    如你所知,这是一个开源项目,拥有一个庞大的插件生态系统,所有插件的功能都得到了大量社区贡献的支持。伴随 Jenkins 的惊人的社区参与度也是促进其成熟的一个主要原因。

    1. 提供 REST API

    Jenkins 提供了 REST 风格的应用程序接口来便于扩展。Jenkins 的远程接入 API 有三种不同的风格——Python、XML 以及 JSON(支持 JSONP)。Jenkins 网站中有一个页面有关于 Jenkins API 的描述性文档,有助于扩展。

    1. 支持并行执行

    Jenkins 支持并行测试。你可以轻松将它与不同的工具集成并得到构建是否成功的通知。开发者甚至可以在不同的虚拟机上并行执行多个构建来加速测试过程。

    1. 轻松分配工作

    它可以毫不费力地运行分布式工作,即任务在不同的机器上运行,而不会对 GUI(用户图形界面)造成影响。值得一提的是,与其它 CI/CD 工具相比,只有这款工具能够使用与运行 GUI 相关任务的同一个实例。

    3. GitLab CI/CD 介绍

    在所有用于测试的 CI/CD 工具中,GitLab CI/CD 毫无疑问是最新且最受赞赏的选择。它是一款免费且自托管的内置于 GitLab CI/CD 的持续集成工具。GitLab CI/CD 有一个社区版本,提供了 git 仓库管理、问题跟踪、代码评审、wiki 和活动订阅。许多公司在本地安装 GitLab CI/CD,并将它与 Active Directory 和 LDAP 服务器连接来进行安全授权和身份验证。GitLab CI/CD 先前是作为一个独立项目发布的,并从 2015 年 9 月发布的 GitLab 8.0 正式版开始集成到 GitLab 主软件。一个单独的 GitLab CI/CD 服务器可以管理 25000 多个用户,它还可以与多个活跃的服务器构成一个高可用性的配置。GitLab CI/CD 和 GitLab 是用 Ruby 和 Go 编写的,并在 MIT 许可下发布。除了其它 CI/CD 工具关注的 CI/CD 功能之外,GitLab CI/CD 还提供了计划、打包、源码管理、发布、配置和审查等功能。GitLab CI/CD 还提供了仓库,因此 GitLab CI/CD 的集成非常简单直接。在使用 GitLab CI/CD 时,phase 命令包含一系列阶段,这些阶段将按照精确的顺序实现或执行。在实现后,每个作业都被描述和配置了各种选项。每个作业都是一个阶段的一个部分,会在相似的阶段与其它作业一起自动并行运行。一旦你那样做,作业就被配置好了,你就可以运行 GitLab CI/CD 管道了。其结果会稍后演示,而且你可以检查某个阶段你指定的每一个作业的状态。这也是 GitLab CI/CD 与其它用于 DevOps 测试的 CI/CD 工具的不同之处。

    4. GitLab CI/CD:核心特性

    GitLab CI/CD 是最受欢迎的用于 DevOps 测试的 CI/CD 工具之一。GitLab CI/CD 文档丰富、易于控制且用户体验好。如果你刚接触 GitLab CI/CD,我列举了 GitLab CI/CD 的主要功能,会有助于你了解它。来看看吧。

    1. 高可用性部署

    它被广泛采用,是最新可用的开源 CI/CD 工具之一。GitLab CI/CD 的安装和配置都很简单。它是内置于 GitLab 的免费且自托管的持续集成工具。GitLab CI/CD 逐渐发展成最受欢迎的用于自动化部署的免费 CI/CD 工具之一。

    2.Jekyll 插件支持

    Jekyll 插件是一个静态网站生成器,对 GitHub Pages 有比较好的支持,它使得构建过程更简单。Jekyll 插件支持使用 HTML 文件和 Markdown,基于你的布局偏好,创建一个完全静态的站点。你可以通过编辑你的 _config.yml 文件来很容易地配置大部分 Jekyll 设置,例如,你的网站的插件和主题。

    1. 里程碑设置

    工具中的里程碑设置是跟踪问题、改进系列问题、绘制仓库的请求的一种很好的方法。你可以轻易将项目里程碑分配给任何问题,或者合并项目中不常见的请求,或者将组里程碑分配给一组问题,或者合并该组中任何项目的请求。

    1. 自动伸缩的持续集成运行器

    自动伸缩的 GitLab 持续集成运行器可以轻松管理和节省 90% EC2 成本。这真的非常重要,特别是对于并行测试环境。而且,对于组件级别或者项目级别的运行器,可以跨代码库使用。

    1. 问题跟踪和问题讨论

    由于其强大的问题跟踪和问题讨论功能,GitLab 是无数开源项目首选的 CI/CD 工具。它巧妙地允许你并行测试拉取请求和分支。为了简单方便地监控,测试结果被显示在 GitHub UI 上。由于简单的用户界面,相比于 Jenkins,它使用起来更加友好。

    1. 使用访问控制管理 Git 仓库

    你可以通过访问权限轻松管理 git 仓库。你可以轻松地向单个仓库的协作者授予写入 / 读取访问权限,甚至特定组织的成员也可以对组织的仓库进行更细粒度的访问控制。

    1. 活跃的社区支持

    活跃且进步的社区是 GitLab CI/CD 的一个主要加分点。提供的所有支持都是开箱即用的,不需要在额外的插件安装中进行修改。

    1. 代码评审和合并请求

    GitLab CI/CD 不仅仅用于构建代码,还用于评审代码。它允许使用简单的合并请求和合并管理系统来进行改进协作。它几乎支持所有的版本控制系统和构建环境。在 GitHub 项目下实现了大量协作方案,这些项目有助于 GitLab CI/CD 的扩展。

    5. Jenkins vs GitLab CI/CD 的功能对比

    Jenkins 和 GitLab CI/CD 都有它们非常擅长的领域和各自的技术追随者。然而,在讨论 Jenkins vs GitLab CI/CD 之争时,会讨论许多功能。下图是这两个 CI/CD 工具提供的所有功能的比较。

    6. Jenkins vs GitLab CI/CD 之间的区别

    既然你已经看了 Jenkins vs GitLab CI/CD 之间的功能对比,那也是时候来看看这两个 DevOps 测试工具之间的差别。这些差别将帮助你理解 Jenkins vs GitLab CI/CD 之争背后的真正原因。在 GitLab CI/CD 的帮助下,你可以通过对分支和其它一些方面的完全控制来控制 Git 仓库,从而使你的代码免受突然的威胁。然而,使用 Jenkins 时,你虽然可以控制代码库,但只有几个方面。Jenkins 不允许完全控制分支和其它方面。Jenkins 是“内部托管的”和“免费开源的”,这也是程序员选择它的原因。另一方面,GitLab CI/CD 是“自托管的”和“免费的”,这就是为什么开发人员更喜欢它。在 GitLab CI/CD 中,每一个项目都有一个跟踪程序,它将跟踪问题并进行代码评审来提高效率。而在 Jenkins 工具中,它改变了一些设置支持和一个简单的安装配置过程。

    7. Jenkins vs GitLab CI/CD 优缺点

    我希望你现在理解 Jenkins vs GitLab CI/CD 这两个工具。为了更进一步,我列举了与 Jenkins vs GitLab CI/CD 有关的主要优点和缺点。我知道你已经决定了你要使用的 DevOps 测试工具,本节将帮您增强选择正确的 CI/CD 工具的信念。

    Jenkins 的优点

    • 大量插件库
    • 自托管,例如对工作空间的完全控制
    • 容易调试运行,由于对工作空间的绝对控制
    • 容易搭建节点
    • 容易部署代码
    • 非常好的凭证管理
    • 非常灵活多样的功能
    • 支持不同的语言
    • 非常直观

    Jenkins 的缺点

    • 插件集成复杂
    • 对于比较小的项目开销比较大,因为你需要自己搭建
    • 缺少对整个 pipeline 跟踪的分析

    GitLab CI/CD 的优点

    • 更好的 Docker 集成
    • 运行程序扩展或收缩比较简单
    • 阶段内的作业并行执行
    • 有向无环图 pipeline 的机会
    • 由于并发运行程序而非常易于扩展收缩
    • 合并请求集成
    • 容易添加作业
    • 容易处理冲突问题
    • 良好的安全和隐私政策

    GitLab CI/CD 的缺点

    • 需要为每个作业定义构建并上传 / 下载
    • 在实际合并发生之前测试合并状态是不可能的
    • 还不支持细分阶段

    8. Jenkins vs GitLab CI/CD 如何选

    Jenkins 和 GitLab CI/CD 都有它们各自的优点和缺点,你在这两个工具之间的最终选择取决于项目需求和规格。其中每一个 CI/CD 工具都有它自己的优势和劣势,发布时都实现了完全相同的需求:自动化 CI/CD(持续集成和交付)的过程。Jenkins 用于持续集成,而 GitLab CI/CD 用于代码协作和版本控制。在选择最佳的用于 DevOps 测试的 CI/CD 工具时,除了突出的特性,你还应该查看价格列表和内部熟练度。

    作者介绍:Rahul Jain 是 LambdaTest 的一名数字营销专家,热爱阅读和写作关于最新技术趋势、SEO、体育和旅行相关的内容。

    作者 | Rahul Jain
    策划 | 田晓旭
    文章转自:InfoQ

    展开全文
  • DevOps 测试的兴起导致了对 CI/CD 工具的快速需求。现有的解决方案总是随着时间的推移而改进,大量新产品或新版本正在进入 QA 领域。当你手头有这么多选项时,选择正确的工具确实会有一点儿挑战。在所有可选的用于...
  • 持续集成(CI)和持续交付(CD)在过去十年左右时间里取得了长足的进步。DevOps测试的兴起引发了针对CI/CD工具的强烈需求。现有的解决方案一直在与时俱进,无数的新产品或新版本正在进...
  • github ci/cd GitHub已在其流行的代码共享站点中引入了一种名为GitHub Actions的工作流工具,以允许直接从GitHub本身进行持续集成/连续部署(CI / CD) 。 使用此工具(目前处于测试版) ,开发人员可以在GitHub或...
  • DevOps 测试的兴起导致了对 CI/CD 工具的快速需求。现有的解决方案总是随着时间的推移而改进,大量新产品或新版本正在进入 QA 领域。当你手头有这么多选项时,选择正确的工具确实会有一点儿挑战。在所有可选的用于...
  • ci/cd实践的必要性 持续集成(CI)和持续交付(CD)通常与DevOps,DevSecOps,用于IT运营的人工智能(AIOps),GitOps等相关联。 仅仅说您正在做CI和CD是不够的。 有一些最佳实践,如果使用得当且一致,将使您的CI /...
  • CI/CD是什么?

    万次阅读 多人点赞 2019-07-09 19:25:43
    最近在求职中,会看到有的公司要求是了解CI/CD,那么这个CI/CD是什么呢? 通过查找资料后得知就是我们耳熟的持续集成、持续部署等持续动作。 CI全名Continuous Integration,啥意思?就是我们经常听到的持续集成...
  • ci/cd 流程图 成功的团队知道CI / CD是不够的。 事情以比以往任何时候都快的速度破裂,许多人正在为其工作流程添加持续可靠性。 大多数工程团队都采用了敏捷的开发实践,并且正在努力缩短发布周期。 与更频繁地...
  • ci/cd 流程图 克服具有持续可靠性的CI / CD工作流程中保持代码质量的挑战 CI / CD的做法鼓励在开发中频繁进行代码集成,加快新版本的准备工作并自动化部署。 借助这种新工具,软件开发生命周期的这些部分都得到了...
  • github ci/cdAgnostic tooling is the clever notion that you should be able to run your code in various ... With many continuous integration and continuous development (CI/CD) apps available, ...
  • ci/cd工具 公司和团队希望快速行动。 这包括频繁发布,不断更新产品,并使团队成员保持对新技术的关注。 这些需求导致了持续集成和持续交付实践的兴起。 当前对CI / CD周期的广泛理解为测试-构建-部署阶段增加了...
  • ci/cd自动化测试 每个软件项目都涉及成功实施和部署项目的某种“过程”和“实践”。 随着项目规模和规模的增加,复杂程度也以指数方式增加。 领导团队应尽一切努力来开发,测试和发布软件,以便以递增的方式进行...
  • ci/cd自动化测试 “如果事情似乎处于控制之中,那么您就不会足够快。” -马里奥·安德烈蒂 测试自动化意味着持续专注于在软件开发过程中尽早及早地检测缺陷,错误和错误。 这是通过使用追求质量为最高价值的工具来...
  • Need CI/CD

    2020-12-08 21:51:19
    <div><p>If this is to be a production app, there should be a CI/CD pipeline associated with it.</p> <p>Perhaps we can just build a from scratch ci/cd pipeline and use all of the knowledge we have ...
  • CI/CD系列

    2018-12-24 22:02:00
    一、CI/CD系列 什么是CI/CD(译) Docker与CI/CD(转) Docker和CI/CD实战 二、Git 三、GitLab 转载于:https://www.cnblogs.com/skyflask/p/10171252.html

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 54,273
精华内容 21,709
关键字:

ci/cd