我正在开发一个针对Linux/Mac/Windows版本的跨平台库。我想让我的项目进入CI。我无法决定哪种集成系统最适合我们的场景。每个系统都有许多成功的例子,它们的测试和比较要复杂得多。因此,我在这里提供我的要求,并征求你的建议。
CI应该是OpenSource和自由(如在自由中)
技术栈应该无关紧要。目前我们正在使用C++/Autoconf/Automake和C++/Qt,但是我们应该能够测试PHP或Java项目。
构建服务器应该安装在运行多台虚拟机的本地服务器上(Windows x86 - Windows 7 x86 - Windows 7 x86_64 - Ubuntu x
我在Windows上交叉编译用于Linux的Golang程序,使用:
go build -o myprog.bin myprog.go
为此,我必须设置环境变量GOOS=linux。由于我还在为windows编译一些程序,当我完成交叉编译时,我必须重新设置GOOS=windows。所以我有一个批处理文件,如下所示:
set GOOS=linux
go build -o myprog.bin myprog.go
set GOOS=windows
如果我碰巧同时为每个Linux和Windows编译两个程序,windows程序可能会被编译为Linux。是否有方法将环境变量的范围限制在windows上