数仓代码版本及提交管理规范

A. 代码分支结构

GitLab使用时,基本遵循gitflow的工作量(目前因为历史原因,是非标准gitflow)

目前的分支结构和权限如下:

分支

merge权限

push权限

feat特性分支Maintainer用户 + Developer用户Maintainer用户 + Developer用户
dev/sitMaintainer用户Maintainer用户
uatMaintainer用户Maintainer用户
master/releaseMaintainer用户 Maintainer用户 
hotfixMaintainer用户Maintainer用户

B.git commit message规范

统一使用 IDEA的git commit template插件来提交

各个部分的说明如下:

Type of change

代码提交类型

英文说明

中文说明

featA new feature新特性
fixA bug fix解决bug
docsDocumentation only changes文档变更
styleChanges that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)代码风格变更
refactorA code change that neither fixes a bug nor adds a feature代码重构
perfA code change that improves performance代码性能优化
testAdding missing tests or correcting existing tests测试变化
buildChanges that affect the build system or external dependencies (example scopes : gulp, broccoli, npm, maven)构建变化
ciChanges to our CI configuration files and scripts (example scopes: Travis, Circle, BrowseStack, SauceLabs, Jenkins)持续集成变化
choreOther changes that don't modify src or test files其余变化
revertReverts a previous commit代码回退

 

开发提交git commit是要填写的内容、填写规范及示例

需要填写的内容

说明

填写规范

示例

Scope of this change

提交影响的范围

  
Short description概要描述  
Long description详细描述  
Breaking changes突出的改变  
Closed issues

关闭的issue

  

 

C. 代码提交流程如下

a.代码的稳定版本为master分支,所有新功能拉出一条新特性分支开发。

b.当新特性分支开发完成之后,merge到develop分支中进行连调。联调中需修改的问题,在特性分支修改后megre到develop分支重新部署。

c.当联调完成时,将特性分支merge到sit分支提测。bug修复在特性分支中修复,完成后合并到sit分支中。

d.当测试完成时,将特性分支merge到uat分支进行验收。如需要修改,在特性分支进行修改,完成后部署UAT验证。

e.当验收完成时,从之前一个release上拉出一条全新的分支用作上线版本,之前版本用作备份。将特性分支merge到新release分支进行部署。

f.生产release分支,保存三个版本的有效期,即新上线分支上线后,删除之前的倒数第四个版本。

g.当存在生产问题是,从最新release中拉出hotfix分支,改完后走之前相同流程测试,测试通过之后合到release版本中上线。

h.生产发版完成后,请将特性分支merge到dev/sit,uat环境一遍,同步代码。

 

参考资料:

[1] IDEA集成Git

[2] Git Commit Template

[3] Gitlab Projects Jetbrains IDE plugin

[4] Git documentation

[5] Project members permissions

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flink是一个开源的流处理框架,可以帮助我们构建实时数仓。下面是一个简单的实时数仓代码示例。 首先,我们需要定义输入数据源。可以从Kafka、File、Socket等各种来源获取数据。例如,我们可以通过以下代码从Kafka获取数据: ```java DataStream<String> inputDataStream = env.addSource(new FlinkKafkaConsumer<>("topicName", new SimpleStringSchema(), kafkaProps)); ``` 接下来,我们可以对数据进行转换和处理。例如,我们可以使用Flink提供的各种操作符对数据进行过滤、映射、聚合等操作。例如,以下代码通过flatMap操作符将输入数据按空格拆分成单词: ```java DataStream<String> wordDataStream = inputDataStream.flatMap((value, out) -> { for (String word : value.split(" ")) { out.collect(word); } }); ``` 然后,我们可以将处理后的数据写入输出目的地。例如,我们可以使用Flink提供的各种Sink将数据写入Kafka、数据库或文件等。以下代码将单词数据写入Kafka: ```java wordDataStream.addSink(new FlinkKafkaProducer<>("outputTopicName", new SimpleStringSchema(), kafkaProps)); ``` 最后,我们需要设置Flink作业的执行配置和执行环境,并启动作业。 ```java env.setParallelism(1); env.execute("Real-time Data Warehouse Job"); ``` 以上代码只是一个简单的实时数仓构建代码示例。实际的实时数仓构建过程可能更加复杂,需要根据具体业务需求进行设计和实现。同时,还可以结合其他工具和框架,如Hadoop、Hive、HBase等来构建更完整的实时数仓解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值