概述
CERN 的应用和服务部门 (APS) 负责在所有技术事务中发挥主导作用,包括与用户、合作伙伴和服务提供商合作。这就是为什么自动化是关键。这正是 Jenkins 实现的目标。
“Jenkins 帮助我们的开发人员更具创新性,因为他们不再需要成为基础设施工程师。” -Anti Asko,软件工程师,CERN
| 组织机构 | 欧洲核子研究组织,是世界上最大型的粒子物理学实验室,也是万维网的发源地。 |
编程语言 | Java、Node.js、Python | |
平台 | Docker/Kubernetes、Linux、MacOS、Windows | |
版本控制系统 | GitLab | |
构建工具 | Gradle、Maven、docker、Helm |
背景
CERN (APS) 的应用服务主要用于提供加速器、技术部门所需的通用数据管理服务和综合软件解决方案。APS 负责在所有技术事务中发挥主导作用,与用户、合作伙伴和服务提供商合作。这种合作涵盖了相应数据存储库、服务器端流程、客户端 API 和通用面向用户的应用程序的需求分析和数据建模、设计和实现。这就是为什么 CERN 的软件必须无错误并且 CERN 开发人员能够专注于构建高质量应用程序而不是 QA 和测试过程的原因。自动化是关键。
目标
我们希望使用 Jenkins 解决的主要挑战是将重复的、容易出错的步骤来自动化以促进日常工作,以将我们的工具交付给我们的最终用户。我们希望通过 Gitlab 和 Jenkins 之间的合并请求集成来自动化构建和测试过程,从而降低日常工作开销。此外,我们寻求自动化 Web 应用程序的持续集成和交付,以消除流程中的任何人为错误。
解决方案
我们将 Jenkins 置于开发过程的中间。就是这样:
我们配置了合并请求触发器以在每个分支上构建。通过这种方式,我们能够确保在部署配置实例时不会遇到任何故障,尽早发现问题。
我们将 dev 上的每个分支合并时通过触发器触发dev 分支的集成构建。它会自动部署我们应用程序的开发实例(在 Ansible 软件的帮助下),以确保一切按预期工作。
我们使用一系列 Jenkins 作业自动执行发布流程,这些作业构建应用程序并将它们部署到适当的服务器。
通过将 Jenkins 添加到开发中,我们显著的缩短了交付时间并消除了流程中的开销。与 Gitlab 和 Artifactory 的集成对这项工作也有很大帮助。由于我们现在可以在 xvfb 插件的帮助下运行我们的 e2e 测试,它允许我们在 Jenkins 上自动化部分 QA 流程。通过自动化我们的开发过程,Jenkins 完成了构建、测试、发布和部署的繁重工作,让开发人员有更多时间专注于开发新功能和交付高质量的应用程序。它还带来了显着的成果,
包括:
用户反馈证明了产品质量的提高
显著缩短发布周期
降低开发开销和人工干预
更快地交付修补程序
关于我们
泽阳,DevOps领域实践者。专注于企业级DevOps运维开发技术实践分享,主要以新Linux运维技术、DevOps技术课程为主。丰富的一线实战经验,课程追求实用性获得多数学员认可。课程内容均来源于企业应用,在这里既学习技术又能获取热门技能,欢迎您的到来!
帮转发,点个再看吧,前进的动力...
最后
以上就是虚幻泥猴桃为你收集整理的欧洲核子研究组织使用Jenkins自动化开发流程的全部内容,希望文章能够帮你解决欧洲核子研究组织使用Jenkins自动化开发流程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复