了解版本控制的任务运行程序

radish-run的Python项目详细描述


CircleCILatest VersionPython versions

Radish是一个了解版本控制的任务管理器。

定义一个应用于 存储库和萝卜将找出哪些项目已经更改 并仅对这些项目运行该命令。萝卜不是替代品 对于make、gulp、gradle、rake或任何其他任务执行者。是一个 用一些技巧编排其他跑步者和脚本的补充 从版本控制存储库。

如果你用的是 CI/CD 服务器类型ConcourseGoCD支持管道作为一级 市民您可能不需要您的ci/cd服务器上的萝卜。它 不过,在你的开发机器上还是很有用的。

安装

萝卜可在Pypi AS上买到 radish-run并且可以 安装在大多数带有PIP的系统上:

$ pip install radish-run

如何使用

萝卜的调用示例:

$ radish command tests --from 19abc023 --to 2514ecb1
Changed paths:
  - extensions/cool-extension/
  - frontend/js/

Running tests for extensions/cool-extension/:
...........
OK

Running tests for frontend/js/:
..........................
OK

All commands ended successfully and ran in 9.75s.

配置

radish配置是一个名为Radishfile的yaml文件,因为我可以。

paths:-extensions/*/# Mark each subdirectory in extensions as a path-frontend/js/commands:# Runs from the directory denoted by paths abovetests:default:bin/rspec specfrontend/js/:npm test

示例用例

假设您正在构建一个单页web应用程序,它由两个 部分:-提供json的后端-包含所有 最终用户看到的点击位

因为跨职能团队这个项目在一个存储库中 是生产力的伟大胜利。但它有一个缺点:当 只更改后端,则前端的所有测试都是 还在跑。最后,在运行完所有测试之后,可以部署它,但是 然后两个站点都被部署,尽管前端没有任何变化。

所以这是一个疯狂的局面。不应该的。所以这就是萝卜 进来。你告诉萝卜关于testdeploy,以及 意味着在后端和前端,然后在ci服务器上 运行最后一次绿色提交的命令。萝卜就知道了 从当前提交和最后一次提交更改的内容,并且只运行 这些项目的命令。

贡献

路线图

  • 定义要始终运行的路径/项目,无论是否存在 是否更改
  • 如果项目有更改,请运行其他命令
  • 允许将更改的文件传递给命令。主要是 本地dev框的特性,因此只对 更改的文件。
  • 项目之间的依赖关系。如果frontend-payment项目 然后在frontend项目中运行命令。
  • 定制因ci系统而异,因此它们可以聪明地找出 上次绿色提交是,而不是依赖于HEAD~1作为穷人 男人们“最后的变化是什么?“

地方发展

要开始使用当前的python全局版本,请执行以下操作:

$ git clone https://github.com/gaqzi/radish.git
$ cd radish/
$ make develop
$ make test

这将安装所有依赖项,签出测试repo,然后 运行所有测试。

许可证

Beerware许可证

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用相同的模型、颜色、字体和侦听器创建JTable的副本?   JavaSpring+Thymeleaf:用户时区中的时间   java HTTP请求返回非法状态异常安卓   java xml验证JDK 1.5 JDK 1.6差异   junit如何使用Parasoft从java文件生成测试文件   java使用getSpans方法获取可扩展文件中的所有跨距   javascript无法使用bindingResult设置表单元素   java RCP应用程序活动   获取Java类中泛型字段的类型   java更新查询,从一个依赖于另一个表的表中更改字段   java错误:GWT类型中的方法setBridge(GWTBridge)不适用于参数(GWTBridge)   为什么java/安卓需要在XML元素的开头有一个空格来解析它?   java通用代码,用于将字符串转换为任何所需的类   java如何创建Liferay钩子以扩展购物车portlet的功能   java Selected()方法存在漏洞   java新行附加在我的加密字符串上   使用NaN值的指数平滑的java   使用飞碟和iText发行的java XHTML到PDF   java如何在不使用HTMLDocument的情况下在JTextPane中显示两列文本?