我正在开发一个针对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上
有Linux的Windows子系统和..。Windows有Linux子系统吗?这允许您访问Linux上的Windows终端,就像在Linux的上一样。
Windows Linux子系统允许开发人员直接在Windows上运行GNU/Linux环境--包括大多数命令行工具、实用程序和应用程序--而不需要传统虚拟机或双引导设置的开销。您可以:从Microsoft中选择您最喜欢的GNU/Linux发行版。运行通用命令行工具,如grep、sed、awk或其他ELF-64二进制文件.运行Bash脚本和GNU/Linux命令行应用程序,包括:工具: vim、emacs、tmux语言: NodeJS、Java