一个简单、轻量级、模块化的ci系统

ciex的Python项目详细描述


ciex(alpha)是一个用python编写的简单、轻量级、可能是哑ci系统。


**要扩展它**,请编写自己的python“ci workers”模块,然后在守护程序的配置文件中定义它们。

**一个示例**场景是在多台计算机上安装“ciex守护程序”,然后触发checkout命令或从另一台计算机生成、升级等,把新代码推送到主分支之后再说。

quickstart
8232;注意:您需要在系统上安装[nanomsg](https://github.com/nanomsg/nanomsg)。

``shell
$pip install ciex
$ciexd--config/path/to/config/ciex.config
$ciextl ping
pong
``


[nanomsg](https://github.com/nanomsg/nanomsg)安装在您的系统上,安装应该非常简单。

**要求**

*[nanomsg](https://github.com/nanomsg/nanomsg)-对nanomservice的要求
*[nanomservice](https://github.com/walkr/nanoservice)-对于进程间通信。
*[oi](https://github.com/walkr/oi)-对于命令行界面




**安装选项**


``shell
独立组件:

1。守护进程“ciexd”
2。命令行接口“ciexctl”



1。守护进程

守护进程持续运行,等待命令。
当接收到命令时,将其转换为任务,
然后将其放入“新队列”。**ci workers**从“new queue”中接受
任务并执行其工作。当与该任务相关联的工作完成时,ci工作进程将该任务标记为
“成功”或“失败”,然后将其发送回任务路由器。

因为不同的应用程序有不同的需求。

**示例配置文件**

``ini
[settings.app.my_-app]
localpath=/apps/my_-app
repo=git@github.com:walkr/test.git

worker-dirpath=/apps/myapp/ci
worker-modname=workers
worker-classname=customworker
```

**守护进程**

`` shell
$ciexd--config/etc/ciex.config可选--调试标志
````


命令行接口

命令行接口接受命令并将其转发给守护进程

**用法示例:**

`` shell
$ciextl ping
pong

$ciexctl
ctl>;list
['appname1','appname2']

ctl>;status appname1
<;任务应用程序名称:appname1,命令:checkout,状态:task status.success>;

ctl>;upgrade appname1
任务已触发…

<;任务app名称:app name,命令:upgrade,状态:taskstatus.pending>;

taks已经开始运行了。享受!

**麻省理工学院许可证**

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

推荐PyPI第三方库


热门话题
ArrayList Java中的搜索字符串   另一个web应用程序的java访问会话   另一个应用程序中的活动和服务之间的java通信   java根据Json字符串类型将Json字符串转换为对象   eclipse如何解决java中的错误异常。lang.NoSuchMethodError:'java。字符串javax。摆动JOptionPane。showInputDialog(java.lang.String)'   线程“main”java中的安卓异常。lang.NoClassDefFoundError:org/codehaus/jackson/JsonParseException   java如何在安卓 emulator上显示Mat图像?使用NDK   Java在本地读取测试源文件,但在服务器上读取失败   java dowhile循环用于计算输入数字中的数字。故障排除代码   JAva初学者在编写获取成本的方法时遇到困难   java是shell游戏。我如何让物体移动,特别是在特定的曲线上,但顺序是随机的?   java如何区分两个同名的JButton   java为什么我在Spring Boot中需要一个接口?   java将文件路径插入数据库将删除\   使用InterfaceType初始化java对象   java如何部署一个分为Angular、Spring Boot和MySQL的项目?   java如何使用Symja解决不等式?