项目构建工具sdkg、maven-manager、Deploy4s、JamPlus介绍

以下为你介绍的项目构建工具都可用在Linux系统上:sdkg(快嘉接口 sdk 生成 Maven 插件)、maven-manager(在树莓派上搭建一个 maven 仓库)、Deploy4s(自动化部署组件)、JamPlus(功能强大的代码和数据构建系统)。

1、sdkg(快嘉接口 sdk 生成 Maven 插件)

随着移动应用APP普及、前后端技术分离,微服务化架构盛行,RESTful风格的接口已经在大行其道。当前开始AI、物联网和云计算的蓬勃发展又加速了人机互联、物物互联的趋势,将RESTful风格的接口的使用场景向纵深领域进一步拓展,一时间,RESTful风格的接口已经成为标准基础技术设施,深受技术选型工作者喜爱和推崇。在这种大背景下,也逐渐演变出了前后台或上下游系统之间通过接口来解耦的研发模式:移动端、前端或者上游系统基于接口约定来做相关的设计工作,也基于可用的联调环境来做具体的开发工作。一旦接口文档更新不及时或者接口联调环境没有更新,移动端、前端或者上游系统设计与开发的工作就进行不下去,甚至会影响整体项目工期。

显然,围绕RESTful风格接口的技术链也在蓬勃发展,无论是接口sdk、还是接口模拟系统、甚至辅助接口开发的方法、工具、系统以及平台也都在逐渐兴起并渐成规模,快嘉sdkg就是这么一个maven插件,工程师可以通过维护一个接口定义文件即可用来生成接口sdk代码和基于testng框架的接口测试用例代码,该sdk代码可以直接在实际项目中使用,接口测试用例代码可直接用于研发过程的联调、自动化测试和冒烟测试。

使用快嘉sdkg维护接口sdk拥有如下好处:

接口的请求报文和响应报文都会生成对应的JavaBean,报文JavaBean和接口定义相对应,不会多一个属性,也不会少一个属性。

接口的请求报文和响应报文都会生成对应的JavaBean,报文JavaBean和接口定义相对应,不会有属性名称对应不上的情况,也不会有属性类型对应不上的情况。

接口sdk代码和单元测试代码基于符合快嘉接口规范的接口定义文档生成,一旦该接口定义文档就绪,代码也可以直接生成,不需要人工干预。

一旦基于符合快嘉接口规范的接口定义文档就绪,基于swagger2风格的接口模拟系统也可以迅速搭建起来,方便app、前端和上游系统联调。

功能说明:

根据自定义接口文档生成接口api代码,该代码可以直接用于实际项目中。

根据自定义接口文档生成接口实现代码和service定义,该代码可以直接用于实际项目中,支持http和dubbo。

根据自定义接口文档生成基于swagger-ui风格的代码和默认的serviceMock,利用该代码可以部署接口文档服务器和保证接口可用的联调环境接口系统。

根据自定义接口文档生成基于testng框架的接口测试用例代码,该代码可直接用于研发过程的联调、自动化测试和冒烟测试。响应报文结构验证及支持自定义断言:错误码断言、返回指定值断言。

下载地址:https://gitee.com/fastjrun/sdkg

2、maven-manager(在树莓派上搭建一个 maven 仓库)

项目介绍:

java程序员专用maven私有仓库.

项目主要用于部署在cpu与内存小的环境中.如树莓派.

安装的war包目前只有 114 kb,请看项目附件.

软件架构:

使用java自带httpServer.进行http协议的处理.

使用com.lambo.los.http.utils.HeadersFilter进行http头的处理.

使用模拟jsoup http client 的工具类com.lambo.los.http.client.HttpConnection 做http请求工具类.

支持打包成可执行的war,支持工具类 com.lambo.los.kits.war.Handler.

支持可配置运行工具类 com.lambo.los.kits.RunnableMainRunner,只要class继承 runnable, 就可方便的设置属性.-Dconfig=xx.xml 就可以设置属性 config 值 xx.xml.

封装 xml 配置的处理工具类 com.lambo.los.kits.XmlKit.

安装:

项目需要jdk环境,请自行安装.以下将下载打包.

git clone https://gitee.com/zlbroot/maven-manager.git

cd maven-manager

mvn clean -DskipTests package

下载地址:https://gitee.com/zlbroot/maven-manager

3、Deploy4s(自动化部署组件)

Deploy4s-用于简单、标准、稳定和易操作的部署工具。

Deploy是一个自动化部署组件,能够让用户方便快速地将应用自动部署到目标机器上。通过部署流程的标准化和自动化,加快部署的速度,控制部署节奏,降低应用升级更新的复杂度,减少手工部署操作的错误和风险。最终使得用户能够在快速地发布新特性的同时保证部署的质量,避免部署过程中的服务中断。

传统应用代码和部署脚本是分离的,基于很多不同的部署工具开发,如Chef,Puppet,Ansible,或者开发人员自己写的Shell,Python部署脚本。随着DevOps理念的兴起,消除Dev和Ops之间的鸿沟,系统的开发和运维由一个自治团队全权负责,所以将代码与部署放在一起就非常自然,统一Dev和Ops的目标和部署。另外,将应用代码与部署脚本一体化,也简化了代码和部署脚本的管理,避免代码版本与部署脚本版本需要对应的问题。其实,这种设计也简化了用户的使用过程,不需要额外再做部署脚本版本的管理了。

Deploy定义了一个基于事件部署流程接口,在接口定义中,定义多个部署文件拷贝源目标部署映射(files->source->destination),以及部署中各个步骤及步骤之间的执行顺序(ApplicationStop->BeforeInstall->Install->AfterInstall->ApplicationStart-> ValidateService),各个步骤要执行的脚本。

Deploy仅处理代码部署问题,并不处理应用配置管理,资源管理,环境管理以及之后的监控和恢复,伸缩等环节,用户想要实现系统的持续自动化部署,仍然需要自行集成开发,比如需要自行实现应用新版本的打包和上传,之后通过Deploy提供的相应API接口以及CLI将其集成到自己的开发流程,实现持续交付。

要求:

Python、PyYAML。

安装:

下载Release包,通过pip命令安装:

pip install deploy-0.0.1.zip

或者通过下载源码包或clone代码至本地,然后通过如下命令安装:

python setup.py install

使用:

deploycli --bundle=http://server/example.zip

使用--help查看更多使用帮助。

--bundle参数指定zip包的路径,可以是本地文件路径也可以是HTTP地址。

限制:

与标准的AWS CodeDeploy相比,appspec.yml文件需要新增一个workdir参数,用于指定hooks中命令的执行Current Working Directory,其他参数配置可参考AWS CodeDeploy。

例子:

一个示例的appspec.yml文件如下所示:

version: 0.0

os: linux

workdir: /app

files:

- source: /

destination: /app

hooks:

ApplicationStart:

- location: bin/start.sh

ApplicationStop:

- location: bin/stop.sh

BeforeInstall:

- location: bin/backup.sh

AfterInstall:

- location: chmod a+x bin -R

将该文件与待部署文件一起打成zip包(appspec.yml文件必须位于zip包顶层),将该zip包上传至HTTP server或待部署机器本地。 在服务运行的机器上执行如下命令,即可将部署zip包文件部署到机器上,并停止、启动服务(与hooks中配置相关):

deploycli --bundle=http://server/example.zip

下载地址:https://gitee.com/mirrors/Deploy4s

4、JamPlus(功能强大的代码和数据构建系统)

项目构建工具sdkg、maven-manager、Deploy4s、JamPlus介绍

JamPlus 是一个非常快速且功能强大的代码和数据构建系统,通常被用于高效并行处理海量代码和数据集的构建。

功能特性:

跨平台:可用于 Windows、Linux 和 Mac OS X。

支持编译器:Visual C ++ 201x / 200x / 6、GCC、Clang 和 MinGW 等。

目标平台:提供用于 Windows、Linux、macOS、iOS 和 Android 等目标平台的模块。

Workspace/项目生成器:输出用于 Visual Studio IDE 和 Xcode 的项目文件。

多次传递:运行多次未知依赖关系的收集。

网络缓存:可从预设的目标的一个或多个共享网络文件缓存中检索任何要构建的目标。

命令行依赖:当目标的“命令行”发生更改时,目标将被重构。

强大的新变量扩展。

Cache 依赖:当依赖信息被扫描时,它会为下一次构建提前进行缓存,以提供巨大的性能提升。

批量编译。

支持 Checksum。

支持 Lua。

下载地址:https://gitee.com/mirrors/JamPlus

注明

以上就是项目构建工具sdkg、maven-manager、Deploy4s、JamPlus的介绍内容,这些项目构建工具都能使用在Linux操作系统中。

栏目相关文章