基于Jenkins的软件工程教育云平台考试作业管理子系统的设计与实现
这是一篇关于软件工程教育,GitLab,Jenkins,Docker的论文, 主要内容为随着信息技术行业的快速发展,软件开发的语言、工具、软件工程开发过程等技术和理念都在不断更新中。与此同时,高校的软件工程教学也需要紧贴业界发展趋势,不仅需要抛弃过时技术,引入新技术,同时还需要提高学生的动手能力,鼓励学生自主学习,这对教学工具提出了更高的要求。为了满足软件工程教学的需求,设计和实现了软件工程教育云平台,该平台是一个集课程管理、题目管理、考试作业管理、文档互评、持续集成等功能为一体的面向软件学院老师和学生的系统。在该系统中,学生以结成小组的形式完成作业,该系统可以支持学生使用通用的Git指令来获取和提交代码作业,作业被提交后,系统会自动执行构建和测试,学生只要登录网站即可查看构建和测试结果,以及构建和测试的控制台输出。学生可以将构建成功的镜像部署到系统的部署空间中,通过系统返回的URL就可以访问自己的项目,真正让学生体验到持续集成的开发过程。软件工程教育云平台使用GitLab来维护学生的代码仓库,使用Jenkins来实现持续集成功能,学生的项目会被打包成Docker镜像,上传到Docker Nexus上,并被部署在Kubernetes集群中。本系统的主要工作就是调度这些服务,并结合自身的逻辑来实现一系列功能。本系统是一个前后端分离的系统,前端使用Vue.js框架开发,后端使用Spring Boot开发,结合Spring Security实现权限控制,结合Spring Data的CRUD Repository实现数据持久化功能。本文的考试作业管理子系统是软件工程教育云平台下的一个子系统,它负责对作业、考试和小组的管理。根据功能,分为作业创建模块,作业维护模块,在线考试模块,小组管理模块。作业创建模块,负责保存作业信息,并支持在创建作业时为每个小组分配作业相关资源,使得小组只需要关注于代码逻辑,不需要自己来配置系统中和持续集成相关的文件;作业维护模块,支持学生和老师对作业完成情况的查看,老师对作业得分的统计情况查看,以及作业结束时对于无效资源的清理;在线考试模块,支持学生通过网页直接参与编程考试,学生可以通过Web IDE完成编码、运行和测试所有环节;小组管理模块,支持学生创建小组和加入小组。截至目前,系统已经上线超过一年,运行平稳,在多门课程中得到使用,大大改善了软件工程的教学效率,获得了老师和学生的一致好评。
面向多端应用的DevOps系统搭建和定制技术研究
这是一篇关于DevOps,持续交付,Jenkins,多端应用的论文, 主要内容为近年来,随着云原生技术的飞速发展,DevOps作为一种新兴开发范式,突破了开发和运维之间的壁垒,可以实现快速且高效的软件持续交付。但是对于尚未向DevOps转型的部分传统企业和中小型研发团队而言,DevOps内部的复杂工程问题,团队缺乏规范的DevOps研发标准和流程,以及存在着沉重的技术债务的遗留项目,使得他们仍难以向新技术转型。针对上述问题,本文基于容器技术、DevOps相关理论和技术,设计并实现了面向多端应用开发场景的DevOps系统。该系统实现了资源配置、需求敏捷管理以及应用持续交付等主要功能,用户无需关注底层不同工具和服务之间的调度和交互,即可高效地完成多端应用的持续交付工作,实现端到端的业务价值交付。本文的主要工作如下:(1)系统需求分析。通过对常见的多端应用的研发特点和流程进行调研、分析和总结,针对中小型研发团队向DevOps开发模式转型困难的问题,本文提出了基于可复用模板的DevOps流水线,为不具备DevOps技术基础的研发团队确定合适的解决方案,并根据多端应用的研发流程、面临的问题及优化方向明确了系统的需求。(2)系统设计与实现。首先,为简化软件部署环境的运维配置操作,系统设计并实现了对资源配置的统一管理,在实现资源配置数据和流水线任务配置数据解耦的同时,实现了对主机信息的自动采集、文件资源管理、实时终端访问以及软件制品查询等功能。其次,为提高需求端的敏捷能力,系统基于JIRA任务驱动工作流的项目管理方法,实现了由需求驱动的代码分支自动化策略,通过实现代码分支自动化处理能力,促进需求端和开发端的同步,达到将信息技术交付向业务价值交付延伸的目的。最后,为实现持续的、端到端的业务价值交付,系统基于Jenkins持续集成工具和流水线搭建了灵活的软件交付环境,为交付过程提供了良好的自动化支持,支持开发人员高效地使用DevOps环境,降低研发团队向DevOps转型的决策成本和学习成本。此外,系统不仅实现了账号管理、权限管理和角色管理等基础功能,而且实现了制品管理、项目管理和服务集成等辅助性功能,以一体化平台的形式实现更好的易用性。(3)系统测试与验证。本文对系统进行了功能测试和非功能测试,并将系统应用于实际项目开发过程中。测试结果显示本文设计实现的DevOps系统符合预期设计目标,具有良好的功能完备性。应用过程显示系统可以明显缩短软件交付周期,实现软件研发过程透明化管理,促进团队的信息共享、沟通和协作。
基于B/S架构的自动化运维平台的设计与实现
这是一篇关于持续集成,Jenkins,自动化部署,自动化监控的论文, 主要内容为随着国家信息化建设程度越来越高,尤其是近年来互联网+概念的兴起,互联网思维已经深入到各行各业,尤其是在经济、文化生活中发挥着重要的影响作用。随着互联网的不断发展,伴随而来的是各种业务需求,从系统开发、部署、上线,到后期的优化、维护,传统的方法已无法更好的满足各方面需求。因此,如何开发并设计一个符合企业自身业务需要、提高运维人员效率的自动化运维平台已经成为高校研究的一个重要课题。在这样的背景下,作者站在运维人员的角度上,通过理论研究,实际应用,希望能够解决如何更高效的实现持续集成以及后期的系统监控这一问题。本文主要是设计与实现一个自动化运维平台。首先分析了论文的研究背景及自动化运维国内外的研究状况,论文选题的来由,接着介绍了相关的理论技术。本文研究和设计的自动化运维平台主要包含两个子系统:持续集成子系统和自动化监控子系统。具体包括以下几个方面:(1)持续集成的研究与实现。实现自动化部署,主要是根据持续集成的思想,研究开源软件Jenkins,通过系统对Jenkins接口的调用,实现代码的自动化部署,自动化测试,代码覆盖率检查,编码规范检测等等。(2)自动化监控的研究与实现。通过对SNMP协议的研究,实现对设备状态的实时监控,获取相关数据,结合Web技术,生成并显示报表。(3)平台开发相关的研究。平台的研发是基于B/S架构的,研发主要是利用Python的Web开发框架Django;通过研究Django在快速开发过程中以及Python在数据处理方面的优势,结合Web前端技术,最终实现运维人员通过客户端浏览器便可实现持续集成过程,并对系统进行有效的监控。通过作者的努力,相信本文的研究可以减少运维人员许多繁重的重复劳动,有效的提高运维效率,保障系统的稳定性,有效性。
基于Jenkins的软件工程教育云平台考试作业管理子系统的设计与实现
这是一篇关于软件工程教育,GitLab,Jenkins,Docker的论文, 主要内容为随着信息技术行业的快速发展,软件开发的语言、工具、软件工程开发过程等技术和理念都在不断更新中。与此同时,高校的软件工程教学也需要紧贴业界发展趋势,不仅需要抛弃过时技术,引入新技术,同时还需要提高学生的动手能力,鼓励学生自主学习,这对教学工具提出了更高的要求。为了满足软件工程教学的需求,设计和实现了软件工程教育云平台,该平台是一个集课程管理、题目管理、考试作业管理、文档互评、持续集成等功能为一体的面向软件学院老师和学生的系统。在该系统中,学生以结成小组的形式完成作业,该系统可以支持学生使用通用的Git指令来获取和提交代码作业,作业被提交后,系统会自动执行构建和测试,学生只要登录网站即可查看构建和测试结果,以及构建和测试的控制台输出。学生可以将构建成功的镜像部署到系统的部署空间中,通过系统返回的URL就可以访问自己的项目,真正让学生体验到持续集成的开发过程。软件工程教育云平台使用GitLab来维护学生的代码仓库,使用Jenkins来实现持续集成功能,学生的项目会被打包成Docker镜像,上传到Docker Nexus上,并被部署在Kubernetes集群中。本系统的主要工作就是调度这些服务,并结合自身的逻辑来实现一系列功能。本系统是一个前后端分离的系统,前端使用Vue.js框架开发,后端使用Spring Boot开发,结合Spring Security实现权限控制,结合Spring Data的CRUD Repository实现数据持久化功能。本文的考试作业管理子系统是软件工程教育云平台下的一个子系统,它负责对作业、考试和小组的管理。根据功能,分为作业创建模块,作业维护模块,在线考试模块,小组管理模块。作业创建模块,负责保存作业信息,并支持在创建作业时为每个小组分配作业相关资源,使得小组只需要关注于代码逻辑,不需要自己来配置系统中和持续集成相关的文件;作业维护模块,支持学生和老师对作业完成情况的查看,老师对作业得分的统计情况查看,以及作业结束时对于无效资源的清理;在线考试模块,支持学生通过网页直接参与编程考试,学生可以通过Web IDE完成编码、运行和测试所有环节;小组管理模块,支持学生创建小组和加入小组。截至目前,系统已经上线超过一年,运行平稳,在多门课程中得到使用,大大改善了软件工程的教学效率,获得了老师和学生的一致好评。
软件工程教育云平台构建部署子系统和题库子系统的设计与实现
这是一篇关于DevOps,自动构建,Jenkins,GitLab,Elasticsearch的论文, 主要内容为随着信息技术的不断发展与普及,互联网正在从各个方面影响着人们的生活,改变着人们的生活方式。在教育方面,出现了许多优秀的产品,如MOOC,Coursera,牛客网等,学生和想要学习的社会人士都可以通过这些产品获取到自己需要的教育资源。但是,现有的教育产品并不能很好的满足软件工程课程的教学的需求,无法让学生对工程化有所体会。为了能够让学生了解并参与一个软件产品从设计到最终上线的整个流程,从而更好的体会软件工程的工程思维,学习DevOps的模式,我们决定开发软件工程教育云平台。软件工程教育云平台按照功能被划分为了五个子系统,分别是考试作业管理子系统,课程支持子系统,题库子系统,构建部署子系统和基础容器平台子系统。其中,考试作业管理子系统包含了考试管理,作业管理,小组管理功能;课程支持子系统包括了课程管理,文档作业管理,文档互评的功能。题库子系统包含了对单选题,多选题,判断题,填空题,主观题,文档题和代码题多种题型的管理与查询功能。构建部署子系统包括了基于DevOps的对代码作业的自动构建,部署,单元测试和功能测试;基础容器云平台子系统提供了与其他软件进行交互的接口。本文主要介绍了构建部署子系统和题库子系统的需求分析,概要设计,详细设计和实现。软件工程教育云平台采用前后端分离的开发方式,前端使用了Vue作为开发框架,后台使用了SpringBoot框架,数据库使用MySql和Elasticsearch,并使用了Spring Data JPA实现后台对数据库的访问。对于本文所述的构建部署子系统,在实现自动构建,部署,单元测试与功能测试的功能的过程中,还结合了Jenkins,Docker,GitLab,Nexus等第三方软件,最终实现了构建部署子系统的功能。本项目已上线并投入使用一年有余,主要用于软件工程专业课程的教学中,运行情况稳定,满足老师与学生的基本需求,用户反馈良好。
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设工厂 ,原文地址:https://m.bishedaima.com/lunwen/46453.html