当前位置: 首页 > 知识库问答 >
问题:

实际项目中使用 jenkins 的多吗?

纪枫
2023-10-18

最近部门有需求打算把jenkins持续集成应用起来。

所以查阅了一些资料,把jenkins环境搭建起来,跑了一下简单的小流程:源码拉取、maven编译打包、(后续可能会制作为docker镜像 -> 选择性将镜像推到docker私服 -> 搭建模拟运行环境)

但其实我有一些困惑,主要是感觉 jenkins 是一个可有可无的存在。

jenkins主要是为了解决“谁的”、“什么问题”呢?
有多少项目是实际在用的?

欢迎分享下经验,谢谢

共有4个答案

黄隐水
2023-10-18

如果你感觉jenkins是一个可有可无的存在,那么确实代表你的团队很小,不是嘲讽哈。

团队规模大了以后,或者走敏捷开发的路子(一周至少一版),或者团队要求高质量。都需要Jenkins等类似的CI持续集成、CD持续部署的工具配合,用来替代的重复的操作。

就拿最简单的发版来说:

  1. 发布版本检查清单
  2. 版本号变更
  3. 数据迁移
  4. 集群部署
  5. 部署结果确认,失败进行回退操作。

每一步都是人来操作的话,人是会失误的,例如遗漏掉第3步,导致线上数据库与代码不一致直接服务崩溃,例如遗漏掉第5步没有确认部署结果导致集群多个版本并存而发生请求异常。每一次部署都要胆颤心惊的,需要自动化协助处理,只需要在第一步确认好清单就行。

还有例如代码提交的预审核(敏感信息、单元测试)、代码圈复杂度量检测、Docker编译、集成测试等。

完善的CI\CD工具是保障技术团队健康发展的重中之重。

雷飞虎
2023-10-18

Jenkins 主要给开发团队、测试团队、运维团队等技术团队用,用来自动化构建、自动化测试、持续交付/部署、监控,主要是大的公司和团队在用,小公司可能会过剩,有很多用不上。

解晟
2023-10-18

持续集成,持续部署。在发布前配置好发布脚本,避免一些人为部署可能出现的操作失误

阙佐
2023-10-18
  • 自动化构建和部署,开发者本身只需要关注项目功能是否实现就可以,但实际上还需要关注项目部署问题,它本身就是一个比较繁琐和重复的过程。
    同时部署也会出现很多问题,包括环境配置、部署失败、部署失败的错误如何上报、部署环境如何隔离、部署失败后如何通知到相关开发者、项目代码更新后单元测试如何触发运行等,这些问题在 jekins 上都有比较规范的解决方案,这样做目的就是 CI,CD,CI 保证代码的稳定性,CD 保证项目的下游人员 (测试运营)可以及时获取到项目最新的部署版本。
  • 可视化和监控,jekins 跟 action 都有对开发友好的视图去展示部署状态,没有这些工具,开发人员只能通过终端,以及 linux 命令去获取服务状态。
 类似资料:
  • 问题内容: Quickcheck及其变体(甚至Java中也没有)似乎很有趣。但是,除了学术兴趣之外,它在实际的应用程序测试中是否真的有用(例如GUI应用程序或Client / Server甚至是StackOverflow本身)?您使用类似的测试生成器的任何经验都将受到赞赏。 问题答案: 好吧。其实没有,但是我是在最初开发QuickCheck的那个人的带领下学习的,他是一个非常有趣的人。 早在200

  • 我有一个多模块maven应用程序,我们需要通过Jenkins构建。项目结构如下: 现在,mvn清洁安装-fa.xml工作正常。为此,我创建了一个詹金斯的工作。现在,和a.xml一样,我有另一个项目b.xml.b.xml有和a.xml相同的代码,除了不同的Ids。所以,我又为詹金斯创造了一份工作b.xml.两份工作都很好。但是,现在我想根据我们在Git中提交的项目,从单个Jenkins工作中构建这两

  • 我有一个多项目分级建筑在当地工作。有一个父级文件build.gradle设置。gradle文件将项目分配给它们各自的分级生成文件: 错误仍然相同,build.gradle文件(父文件)无法识别依赖项任务查看调试语句,找到并识别子生成分级文件:使用生成文件'/var/../LoadRemote/RemoteLoad_build.gradle'计算项目':LoadRemote'。对加载构建文件显示相同

  • 问题内容: 我正在使用MultiJob Project,以便在每次推送到某个Git分支时实现一个运行过程。 如何在2个不同的作业之间传递参数(每个作业位于单独的MultiJob阶段) 我试图做的是: 作业A :(在主服务器上运行-Windows) 将2个参数回显到我放置在共享位置(而不是作业A的工作空间中)的新文件(称为parameters.properties)中 所以这个文件的contnet看

  • 问题内容: 这是在使用 JENKINS 构建的 Maven 3 Java JS 项目中使用 Sonar 时发现的问题/问题。 为了分析我的项目,我选择了两种不同的方式,但是两种方式均不起作用。 第一种方法 :在JENKINS中将Sonar作为独立任务启动,作为构建后的动作 *从 *JENKINS 安装的 Sonar插件* v2.1 * *从 *JENKINS 安装的 Sonar Runner* v

  • 我已经为一个项目配置了SVN-Jenkins-Maven-Tomcat。小项目的每件事都很好。但当我试图构建包含大量JAR和包的实际项目时…它显示错误..找不到xxx包。我已经手动将依赖项JAR添加到本地maven存储库中。