1.永久免费的源码敏捷Scrum看板工具
2.项目管理工具JIRA实践篇
3.Win下Jenkins-2.138源码编译及填坑笔记
4.虚幻四Gameplay Ability System入门(5)-冲刺奔跑和深入Attribute
永久免费的敏捷Scrum看板工具
8个面向敏捷开发团队的 敏捷开发工具推荐
AGILE DEVELOPMENT TOOLS INTRODUCE
在这篇开源项目管理工具的综述中让我们来了解一下支持 Scrum、看板(Kanban)等敏捷开发模式的源码软件。
1、源码 MyCollab
敏捷开源项目管理工具之①
MyCollab是源码一套针对中小型企业的三个协作模块套件:项目管理、客户关系管理(CRM)和文档创建和编辑软件。源码有两个许可证选项:一个商业的源码odoo源码组成“终极”版本,它更快,源码可以在内部或云中运行;另一个开源的源码“社区版本”,这个正是源码我们感兴趣的版本。
由于没有使用查询缓存,源码社区版本没有云方式,源码并且速度较慢,源码但是源码提供了基本的项目管理特性,包括任务、源码问题管理、源码活动流、路线图视图和敏捷团队看板。虽然它没有单独的移动应用程序,但它也适用于移动设备,包括 Windows、Mac OS、Linux 和 UNIX 计算机。
2、 Odoo
敏捷开源项目管理工具之②
Odoo不仅仅是项目管理软件;它是一个完整的集成商业应用套件,包括会计、人力资源、网站和电子商务、库存、制造、销售管理(CRM)和其它工具。
与付费企业套件相比,免费的开源社区版具有有限的特性。它的项目管理应用程序包括敏捷团队的看板式任务跟踪视图,在最新版本 Odoo .0 中更新了该视图,以包括用于跟踪项目状态的网站盗取源码进度条和动画。项目管理工具还包括甘特图、任务、问题、图表等等。Odoo 有一个繁荣的社区,并提供用户指南及其他培训资源。
3、 OpenProject
敏捷开源项目管理工具之③
OpenProject是一个强大的开源项目管理工具,以其易用性和丰富的项目管理和团队协作特性而著称。
它的模块支持项目计划、调度、路线图和发布计划、时间跟踪、成本报告、预算、bug 跟踪以及敏捷和 Scrum。它的敏捷特性,包括创建 Story、确定 sprint 的优先级以及跟踪任务,都与 OpenProject 的其他模块集成在一起。
4、 OrangeScrum
敏捷开源项目管理工具之④
正如从其名称中猜到的,OrangeScrum支持敏捷方法,特别是使用 Scrum 任务板和看板式工作流视图。它面向较小的组织自由职业者、中介机构和中小型企业。
开源版本提供了 OrangeScrum 付费版本中的许多特性,包括移动应用程序、资源利用率和进度跟踪。其他特性,包括甘特图、时间日志、*和客户端管理,可以作为付费附加组件提供,echarts 示例源码付费版本包括云选项,而社区版本不提供。
5、 ]project-open[
敏捷开源项目管理工具之⑤
]project-open[是一个双许可证的企业项目管理工具,这意味着其核心是开源的,并且在商业许可的模块中可以使用一些附加特性。根据该项目的社区和企业版本的比较,开源核心为中小型组织提供了许多特性。
]project-open[ 支持带有 Scrum 和看板功能的敏捷项目,以及经典的甘特/瀑布项目和混合或混合项目。
6、 Taiga
敏捷开源项目管理工具之⑥
Taiga是一个开源项目管理平台,它专注于 Scrum 和敏捷开发,其特征包括看板、任务、sprints、问题、backlog 和 epics。其他功能包括凭证管理、多项目支持、Wiki 页面和第三方集成。
它还为 iOS、Android 和 Windows 设备提供免费的移动应用程序,并提供导入工具,使从其他流行的项目管理应用程序迁移变得容易。
Taiga 对于公共项目是免费的,对项目数量或用户数量没有*。对于私有项目,在“免费增值”模式下,有很多付费计划可用,但是值得注意的是,无论您属于哪种类型,软件的功能特性都是一样的。
7、神州 指标源码 Tuleap
敏捷开源项目管理工具之⑦
Tuleap是一个应用程序生命周期管理(ALM)平台,旨在为每种类型的团队管理项目——小型、中型、大型、瀑布、敏捷或混合型——但是它对敏捷团队的支持是显著的。值得注意的是,它为 Scrum、看板、sprints、任务、报告、持续集成、backlogs 等提供支持。
其他的特性包括问题跟踪、文档跟踪、协作工具,以及与 Git、SVN 和 Jenkins 的集成,所有这些都使它成为开放源码软件开发项目的吸引人的选择。
项目管理工具JIRA实践篇
JIRA是一款流行的Java架构管理系统,由Atlassian开发,集成了项目计划、任务分配、需求管理、错误跟踪等功能,广泛应用于商业领域。
其开源特性使得用户在购买产品的同时获取源代码,方便二次开发,被许多知名开源项目采用。JIRA具备配置灵活、功能全面、部署简单、扩展丰富等超过项特性,点歌平台源码得到了全球个国家超过,家客户的认可。
JIRA是一款优秀的项目管理工具,支持敏捷测试流程,提供自定义表单、工作流程、图表数据统计插件,支持开放外部API,能够与邮箱、钉钉、git等进行集成,实现消息实时同步。
在JIRA中,可以实现需求管理和子需求管理,对需求进行拆分和关联,查看每个需求相关的Bug数量及进度。支持根据条件搜索,如查看Open Bug的数量以及开发人员Fix Bug的进度。
谈及JIRA,离不开敏捷开发。基于敏捷开发的项目引入JIRA,以提高工作效率。JIRA提供敏捷流程管理,如Scrum和看板模式。通过将需求放入Backlog中,划分Epic和用户故事(story),并根据技术leader和测试leader的排期建立项目版本Sprit。
在看板模式中,有“待做”、“在做”、“完成”三列,表示任务状态。项目sprint建立在产品部门的用户故事基础上,由各个职能部门(前端组、后端组、测试组、运维组、配管组)每周规划,与产品线的sprint关联。
JIRA提供丰富的功能,如创建项目、设置问题类型、管理工作流等。可自定义工作流,以满足特定需求。通过JIRA,可以实施敏捷开发,自动化管理开发流程,集中精力于业务实现和技术攻克。
JIRA不仅是一款项目管理工具,还代表了一种敏捷开发思想。在日常工作中,用户可以将需求文档、数据报表、UI原型图等上传至JIRA平台,实现资源和信息共享,促进团队协作与效率优化。
Win下Jenkins-2.源码编译及填坑笔记
安装JDK与配置环境
首先安装JDK版本1.8-,确保操作系统中已添加JDK环境变量。通过执行"Java -version"命令验证JDK安装。注意,JDK版本必须在1.8.0-以上,Jenkins 2.版本不支持Java9,Maven版本需在3.5.3以上。
设置Maven环境与仓库路径
解压Maven3.5.4至指定英文路径,并添加Maven环境变量。配置Maven的conf\setting.xml文件,定位到行,设置本地Maven仓库路径为"C:\jstao\soft\sprintbootjar\repository"。定位到行,配置远端阿里云仓库,以方便访问相关资源。
解压Jenkins源码
解压Jenkins-2.源码至英文路径下。注意,解压前需确保目标目录为空。
源码编译与打包
以管理员身份运行CMD,进入Jenkins解压目录。执行命令"mvn validate"进行项目校验,首次执行可能需等待一段时间。接着执行"mvn clean install -Dmaven.test.skip=true"跳过单元测试编译项目,首次编译亦需等待。校验和编译过程完成后,可在war\target目录下找到GeoDevOps.war文件。
启动与测试
运行GeoDevOps.war文件,执行命令"java -jar GeoDevOps.war",访问http://localhost:进行测试。确认编译打包过程顺利。
源码编译踩坑记录
使用GitHub最新版本Jenkins源码编译时,因依赖包问题而失败,后切换至稳定版本Jenkins-2.。发现JDK版本需在1.8.0-以上,以避免校验失败。编译过程中,可能存在包依赖无法解决的问题,通过手动下载缺失jar包和对应POM文件至本地仓库,可有效解决冲突。
环境配置不当引发的问题
使用本地Maven版本3.3.9编译时,编译失败,原因是Maven版本需在3.5.3以上以兼容Jenkins-2.版本需求。执行编译命令时,可能会遇到war\target目录无法删除的问题,需先排查并解除目录占用,以确保编译顺利进行。
学习资源
对于有兴趣深入学习Java工程化、高性能及分布式、微服务、Spring、MyBatis、Netty源码分析的朋友,推荐加入交流群。群内有资深阿里专家直播讲解技术,并免费分享Java大型互联网技术的视频资源。
虚幻四Gameplay Ability System入门(5)-冲刺奔跑和深入Attribute
在深入探讨虚幻四Gameplay Ability System(GAS)的实现细节前,先分享一段小插曲:我在源码中不慎添加了两句注释,竟导致项目编译失败,面临+错误。这让我意识到GAS的复杂性和严谨性。在这篇文章中,我们将聚焦于实现角色的冲刺奔跑功能,以及对GAS中属性(Attribute)的深入理解。如有疑问,欢迎在评论区提问或私信交流。 实现冲刺奔跑功能分为以下几个步骤:点击shift后激活冲刺技能。
激活技能后,添加一个Gameplay Effect(GE),以提升角色的移动速度属性。
在角色的Character.h/cpp中实现一个函数,将移动速度改变的事件绑定到该函数。在该函数中,提高角色Movement Component的移动速度。
当shift键松开时,发送Gameplay Event以终止冲刺能力。
接下来,我们创建MoveSpeed属性。 在AttributeSetBase.h/cpp中添加MoveSpeed属性。此操作已多次执行,假设读者已掌握流程。重要的是了解属性数据结构,查看AttributeSetBase的父类AttributeSet.h。这里展示了属性包含Base Value和Current Value两个浮点值。 Base Value是永久属性的基础值,而Current Value是临时值。例如,加速奔跑功能实际上改变的是Current Value,当效果结束后,Current Value会恢复至默认值。类似地,增益效果会暂时提升角色的生命值或护甲等属性。 与Base Value不同,角色生命值的扣减直接作用于Health属性的Base Value。攻击造成的伤害被视为永久改变,除非有其他影响,否则生命值不会改变。 Base值与Current值的变更方式取决于Gameplay Effect(GE)的Duration Policy。Instant模式改变Base值,Infinite和Has Duration模式改变Current值,因为这些效果有持续时间。当Duration policy包含period时,同样改变Base值,因为Period Duration可视为每个period触发一次的instant。 创建完毕后,给MoveSpeed属性赋予初始值。 实现Sprint技能。创建名为GA_Sprint的游戏能力,作为冲刺技能。创建名为GE_Sprint_SpeedUp的游戏效果,负责提高移动速度。在GE_Sprint_SpeedUp中设置技能效果为永久性,提高MoveSpeed属性,同时添加标签Ability.Sprint.SpeedUp。 在GA_Sprint中,向拥有该技能的角色申请一个GE,并等待带有标签Ability.Sprint.EndAbility的Gameplay Event。接收到该事件后,移除带有Ability.Sprint.SpeedUp标签的GE,然后结束能力。 在角色蓝图中,添加能力(Give Ability),绑定输入。当shift松开时,向自己发送带有标签Ability.Sprint.EndSprint的Gameplay Event,作为能力中等待的事件。 实现MoveSpeed属性的改变处理。在CharacterBase.h/cpp中创建一个函数,用于处理移动速度属性值的改变。注意,直接通过GetCharacterMovement()修改移动速度可能导致性能问题。在BeginPlay中将该函数与MoveSpeed的Change Delegate绑定。 处理属性改变的响应。GAS系统提供了接口,在属性值发生改变前进行预处理。重写PreAttributeChange和PostGameplayEffectExecute方法,以设置属性值的范围。例如,确保生命值始终在0到之间。 通过本文,我们不仅实现了角色的冲刺奔跑功能,还深入探讨了GAS中的属性机制。希望这些知识能帮助你更好地理解和利用GAS系统,以创造更丰富、更细腻的游戏体验。