是否有可能编写一个Apache2服务,可以将内容传递给正在生成的客户端?
我想设置一个简单的http服务来触发构建,并在编译过程中立即开始向客户端发送stdout(gcc stuff)。目标是客户可以使用例如curl测试构建:
curl http://myserver.com/testbuild -F "file=@mypkg.tar.gz"
立即从服务器上的构建过程中看到stdout。
答案 0 :(得分:1)
我认为有可能以某种方式using a cgi script,但诀窍是立即获得stdout,绕过缓冲。如果您不需要http作为传输协议,为什么不通过netcat使用直接tcp流。
在构建服务器上运行如下脚本:
#!/bin/bash
while true ; do
nc -l -p 8080 -e /path/to/buildscript
done
当任何客户通过
连接时nc <buildservername or ip> 8080
它会立即获得构建结果。
我的建议会有所不同(使用jenkins作为ci服务器,我甚至在立体声中也这样做),但对于快速小巧的解决方案,它应该足够了。如果您需要http,您甚至可以将http头添加到构建脚本中。