Glusterfs开源社区使用 Git + Gerrit + Jenkins的开发流程。
Register
Sign up for an account at http://review.gluster.org by clicking 'Register' on the right-hand top. You can use your gmail login as the openID identity.
首先需要去 http://review.gluster.org 注册一个账号,你需要有gmail账号或者其他OpenID账号来注册和登陆。
SSH keys
Provide your SSH public key into Gerrit so that you can successfully access the development git repo as well as push changes for review/merge.
然后需要向Gerrit提供你的SSH公钥,这样你才能访问开发代码库,以及提交代码。
Settings -> SSH Public Keys -> Add Key...
Clone a working tree
Get yourself a working tree by cloning the development repository from Gerrit
$ git clone ssh://[username@]git.gluster.org/glusterfs.git glusterfs
克隆git库,获得代码
修改代码...
在修改代码之前,将以下两行加入glusterfs/.git/config
[user]
email = [your.email]
name = [your.name]
Typically you would have a local branch per task, and most of the times that branch will have one commit.
再创建一个本地分支,通常是一个修改/commit对应一个分支。
Commit
You will need to sign-off your commit (git commit -s) before sending the patch for review. By signing off your patch, you agree to the terms listed under "Developer's Certificate of Origin" section in the CONTRIBUTING file available in the repository root.
Provide a meaningful commit message. Your commit message should be in the following format
A short one line subject describing what the patch accomplishes
An empty line following the subject
Situation necessitating the patch
Description of the code changes
Reason for doing it this way (compared to others)
Description of test cases
在向社区提交你的代码之前,你需要在你的patch上签名(git commit -s), 这样就表示你同意CONTRIBUTING文件中Developer's Certificate of Origin一节列出的条款。
你需要按照以下格式写commit message
rfc.sh
After doing the local commit, it is time to submit the code for review. There is a script available inside glusterfs.git called rfc.sh. You can submit your changes for review by simply executing
$ ./rfc.sh
Prompt for a Bug Id for each commit (if it was not already provded) and include it as a "BUG:" tag in the commit log. You can just hit <enter> at this prompt if your submission is purely for review purposes.
在提交了本地commit后, 接下来将commit提交代码审查。在代码库里面有一个rfc.sh脚本。简单执行下这个脚本就提交commit了。
脚本执行过程中,会提示你输入bug id, 这个是必须有的,不然社区的人会提醒你. :-/
如果没有,可用先向redhat bugzilla提一个。
Amend
Code review comments are notified via email. After incorporating the changes in code, you can mark each of the inline comment as 'done' (optional). After all the changes to your local files, amend the previous commit with these changes with -
$ git commit -a --amend
$ ./rfc.sh
代码审查意见会以邮件的形式通知。在对代码进行相应的修改后,你可以使用以下命令再次提交代码。
以上是社区开发的基本流程,全部流程在:
http://www.gluster.org/community/documentation/index.php/Development_Work_Flow
相关推荐
Puppet-glusterfs 插件是 Puppet 社区为 GlusterFS 开发的一个模块,它的主要功能包括: 1. **自动安装**:该插件可以自动下载并安装 GlusterFS 的所有必要组件,如 glusterfs-server、glusterfs-client 和相关的...
4. 故障排查:如果在使用过程中遇到问题,可以查看错误信息,查阅官方文档,或者在Python社区寻找解决方案。 5. 升级与卸载:随着新版本的发布,你可能需要更新gluster_stats库,使用`pip install --upgrade ...
4. **选择Kubernetes的原因**:360搜索选择了Kubernetes作为容器编排系统,因为它提供了完整的解决方案,具有一致的设计思想,拥有活跃的社区、丰富的文档和良好的开发环境。此外,Kubernetes的周边技术如Flannel...
OpenStack项目的目的是通过社区驱动的方式,为用户提供灵活高效的云计算服务。 小米作为国内知名的互联网公司,在云计算领域也进行了积极探索。小米OpenStack项目负责人潘晓东在2015年的OpenCloud大会的演讲中,...
8. **性能优化**:在不影响 GlusterFS 主要功能的情况下,确保数据收集和处理过程尽可能高效,避免过度占用系统资源。 通过这个 GSOC 2014 的项目,开发者不仅提升了 GlusterFS 的监控能力,也为开源社区贡献了一个...
8. **云原生兼容性**:Rook 与 Kubernetes 的紧密集成使其能够无缝地与 DevOps 工具链配合,如 CI/CD 系统,进一步简化开发和运维流程。 9. **社区支持**:作为开源项目,Rook 拥有一个活跃的开发者社区,持续改进...
1. **微服务让开发变得简单:** 实际上,微服务更多的是关于如何组织软件的一种风格,而非简化开发流程。 2. **微服务应该按照某种标准拆分:** 关于如何拆分服务并没有统一的标准,通常需要根据具体业务场景灵活...
1. **可靠且可扩展的存储环境**:为软件开发过程提供稳定的数据存储基础。 2. **版本控制与代码共享**:便于多人协同开发,提高工作效率。 3. **分布式测试**:通过在不同节点上进行测试,确保软件质量的同时加快...
首先,Kubernetes 存储架构的核心流程可以概括为:Provision → Attach → Mount → Unmount → Detach → Delete。这个过程涵盖了数据卷的创建、连接、挂载、卸载、断开和删除等操作。在 Kubernetes 中,存储分为...
1. **Unix历史与哲学**:Unix的诞生、发展过程以及其“一切皆文件”的核心哲学,如何通过简单工具和管道实现复杂任务。 2. **操作系统基础**:Unix的内核结构、进程管理、内存管理、文件系统、设备驱动等基础知识。...
RCF的数据处理流程大致如下:来自RHIC实验的原始数据首先被写入实验大厅的磁盘缓存,然后传输到永久存储介质——STK筒仓。接着,原始数据被分发到Linux农场的一部分节点进行重建处理。处理后的结果再次通过网络进行...
#### 六、开发与社区贡献 **6.1 开发环境搭建** - **Minikube**:在本地环境中快速部署单节点Kubernetes集群。 - **Kind**:使用Docker构建和管理Kubernetes集群。 **6.2 单元测试和集成测试** - **Go Test**:...
ZStack 基于 Java 和 Scala 开发,使用 Spring Boot 框架,与开源社区的其他项目紧密合作,例如 OpenStack、Docker 等。它支持多种虚拟化技术,如 KVM 和 Xen,并且能够与主流的存储系统(如 Ceph、GlusterFS)和...
对于在技术社区参与和贡献的过程,书中介绍了如何使用版本控制系统Git进行版本控制和协同开发,包括如何fork项目、clone到本地、提交修改以及推送更新。还鼓励读者参与到开源项目中,比如本《运维实践指南》的项目中...
这个项目的目标是实现自动化代码同步,简化开发团队的工作流程,提高效率。 1. **Docker容器化** Docker允许我们将应用及其依赖打包成容器,确保在任何运行环境下的一致性。"source-pull-docker"容器化了代码拉取...
这个项目的核心目标是开发一个专为集群环境设计的Linux发行版,以简化集群的部署、管理和维护,使其适合各类用户,无论他们是经验丰富的系统管理员还是初次接触集群计算的新手。 在Linux的世界里,集群技术通常被...
oVirt 是一个开源的虚拟化管理平台,它是 Red Hat Enterprise Virtualization (RHEV) 的社区版,主要用于服务器和桌面虚拟化。oVirt 支持多种协议如 Spice、RDP 和 VNC,提供丰富的功能,例如物理设备直通、Cloud-...
- **解决方案**:优化数据处理流程,合理分配计算资源,采用高效的数据索引技术,以及利用并行处理技术加速数据处理速度。 4. **安全风险**: - **解决方案**:实施严格的数据加密措施,设置访问权限控制,以及...
除了上述几种分布式文件系统外,还有许多其他的分布式文件系统,如GlusterFS、Lustre等,它们各自有着不同的特点和应用场景。 #### 九、展望未来 随着云计算和大数据技术的发展,分布式文件系统将在未来的数据存储...