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

CI漫谈

持续集成(CI)在软件开发中是一个流行的技术,特别是伴随着微服务以及devops,这个名词被吵得更火了,在各种大会上人们都会谈到他们自己是怎么玩的,而且持续集成的工具也有很多。...三个问题验证CI 但是我们都知道,任何正规的技术最后都需要一个认证程序。幸运的是,现在已经存在了。 下面的一个有趣的问卷调查据说就算是一个认证程序。...通过创建快速的反馈循环,并让开发人员小批量地工作,CI可以让团队保证他们的软件质量,从而降低持续软件开发的成本,并提高团队的生产力和产出物的质量。 总之,看了上面那么多,你也许发现了。...CI具有如下属性: 只有一个Repository 自动build 自动测试 每个人至少每天提交代码到主干 每次commit都应该在一个集成机器上build主干 短时间修复构建遇到的问题 保证短时间内可完成

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

    CI 不是 CD

    许多人将 CI 与 CD 混淆,本文做了清晰的讲解。...CI/CD 中的 CI 代表持续集成(Continuous Integration),即持续地将代码合并到源代码控制中的主分支。...当我们说“CI/CD”时,我们真正谈论的就是这两个概念。CI 过程以源代码为中心,面向开发人员,而部署则是围绕工件和环境的更广泛的协作。 许多团队越来越将 CI 视为 CD,这给他们带来了头疼。...超越开发团队 我经常观察到的一个关键区别是,CI 和 CD 工具具有不同的受众。虽然开发人员经常在 CI/CD 的两侧都很活跃,但 CD 工具常被更广泛的群体使用。...解耦的 CI 和 CD 会更好 “CI/CD”中间的斜杠是自然界罕见的解耦机会之一。松散耦合的这样的愉快例子很少。您的构建服务器已经创建了一个工件。它的工作完成了。

    14610

    玩转 Drone CI

    使用 drone CI 已有小半年,在将原有项目的 CI 系统从 jenkins 向 drone 迁移的时候,也陆陆续续遇到了一些问题。...在这段时间,也完成了使用官方插件到插件定制的转变,使得 drone CI 流程更贴合我们 devops 开发流程。...插件开发 针对这个问题,我们对 drone 进行了定制化开发,会在每次提交代码后,对新提交的代码和老代码进行比较,筛选出做了修改的子项目,然后对有修改的子项目尽心 CI ,其余的子项目则不进行发布。...由于 dockerhub 的镜像拉取经常超时,则将镜像推送到了我们自己的镜像仓库;对钉钉通知也进行了优化;同时也根据我们目前的开发语言进行了插件的开发,提供了基于 Java 、Python 以及 Node.js...的 drone 插件,基本可以满足我们现在的 CI 需求,但随着 drone 的深入使用,越来越多的问题将会暴露出来。

    2.6K20

    Gitlab CI 配置文件 .gitlab-ci.yaml 详解(下)

    本文档是描述 .gitlab-ci.yml 详细用法的下半部分,上半部分的内容请参考这里。.gitlab-ci.yml 文件被用来管理项目的 runner 任务。...参考阅读:Gitlab CI 配置文件 .gitlab-ci.yaml 详解(上) artifacts 注意: 非Windows平台从GitLab Runner v0.7.0中引入。...: true 使用当前stage和分支名称作为存档名称: job: artifacts: name: "${CI_JOB_STAGE}_${CI_COMMIT_REF_NAME}"...Validate the .gitlab-ci.yml GitLab CI的每个实例都有一个名为Lint的嵌入式调试工具。 你可以在gitlab实例的/ci/lint下找到该链接。...Skipping jobs 如果你的commit信息中包含[ci skip]或者[skip ci],不论大小写,那么这个commit将会创建但是jobs也会跳过。

    7.4K21

    CI的前世今生

    一、概述 本文是关于 Naki Code Interface 工具(以下简称CI)的介绍,阅读这篇文章,了解一下与CI有关的信息。...二、什么是CI CI 是一个PDMS二次开发插件,用于实现正向做采购编码,执行一套简易的、可维护的编码规则,根据规则生成物资编码(以下简称CC码)和采购编码(以下简称PN码),编码信息写入PDMS等级元件属性...三、CI的前世今生 在物料管理系统开发和应用过程中我们深受编码缺失之苦,编码缺失的主要原因有二,一是材料编码正向做比较困难,二是工作步骤有问题。...CI理念并不复杂: 编码规则最大限度简化,满足管道大宗散材编码需要即可,这个凡是玩过VPRM或者SPRD的人应该都能理解; 编码一定要正向做,正向可以保证材料编码的质量、及时性,而且编码、系统集成更合理...CI只是一个辅助工具,它的作用是更方便地做质量更好的编码,并不能从根源上解决设计阶段材料编码缺失的问题,要最大限度消除“模型未建,量表先出”现象,才是治本的办法。

    56120

    【译】如何开始CI

    我们需要一个CI工具,帮助开发人员自动推送并运行构建和测试。...优化开发者时间并减少上下文切换 长时间CI检查,我的意思是超过3分钟的(CI),消耗团队中的每个开发人员的大量时间。 让我们来比较下“好”和”坏“的工作流程。...强制缩短时间来限制你的CI检查的好处在于它使你从根本上改善整个开发过程。...你的CI工具应该验证的是你的分支和主分支合并正常。 你的CI工具应该执行分支到主分支的本地合并,并针对该分支来运行构建和测试。如果主分支在此期间没有变化,则可以自动合并你的分支。...如果确实发生了更改,则应该再次运行CI检查,直到你的代码可以安全合并为止。如果你的CI工具不支持此类工作流程,请换一个工具。

    1K20

    DevOps 不等于 CI,更不等于 CI CD

    很多公司在实施容器云时实现CI(Continuous Integration, 持续集成),或者CI/CD(Continuous Integration/Continuous Delivery or Deployment...一、CI 不等于DevOps CI持续集成是编码、构建的过程。容器云DevOps从CI起步,也是一个很好的切入点。...二、CI /CD也不等于DevOps 现在我们也总是听到一天要上线多少次多少次的。是一个应用吗?频繁上线是需求不明确还是代码质量不高?厂商在这里可能有点偷换概念。...但CI/CD依然没有解决开发、运维、质量保证部门之间的协作和整合。职责依然没有划分清楚。而且目前的容器云CI/CD流水线设计,不足以支撑企业生产环境部署要求。更多象是PoC概念验证阶段。...容器云并不包含DevOps,所以不是在容器云里实现DevOps,所以容器云中去做CI或CD流水线,是不合适的。CI应该是独立于容器云而存在的,即便不采用容器云,同样可以实现CI 或DevOps。

    3.2K50

    DevOps 之 Coding CI

    [ci-cd-flow.png] NOTE:本文重点在于介绍 Coding CI/CD 功能的使用,对于基于的代码仓库配置,java 下的 maven 工程配置的基础功能点请参考相关文档。...[ci-tcr-pingju.png] 点击 “确定” 后会生成一个简单的 CI 流水线 (如下图): [basic-trc-pipline.png] 点击流水线右边的 “环境变量” 可以看到之前步骤中设置的变量取值...[ci-pipline-package.png] 在弹出来得对话框中,添加 mavne 打包命令 mvn package 如下图: [ci-pipline-package-cmd.png] Step 5...为流水线 qcbm-ci-pipline 添加触发规则 上一节中创建的流水线 qcbm-ci-pipline,可以手动但不能自动执行。...为了实现开发远程提交代码到代码仓库,便触发 CI 还需要添加触发规则。

    2.1K20
    领券