我们需要在各种环境下构建一个C
库,例如(suse x86,suse itanium,solaris,HPUX,IBM AIX),它们具有不同的编译器选项(如编译器标志,32位或64位,静态或动态, endianess等)。目前我们正在大约200台构建机器上构建它。我们有一个高效的makefile,但我们仍然需要登录到各种机器并执行FTP
来获取代码,然后执行make
然后再次传输库。然后我们需要将所有200个平台库保留在一个发布机器中。
我们的目的是减少手动登录到不同机器以触发构建的工作量,最佳方法是什么?
通过在一台Linux机器上编写expect
脚本来自动执行此操作的一种方法,该机器将登录所有200台机器,触发构建并收回库并将其保留在原位。
与为200个构建编写期望脚本相比,还有其他方法可以减少工作量吗?例如,我们需要构建大约50个Vxworks
平台,因为我们只在一台可以完成所有50个平台的Windows机器中使用龙卷风包(交叉编译器)。为此,我们编写了一个单击自动化脚本(小脚本,不需要登录到50台机器)。
同样,如果所有* nix机器(suse,solaris,hpux,ibm aix等)编译器都可以使用交叉编译器,我们可以在一台机器(linux或windows)上安装所有这些。然后我们可以编写一个脚本来在一台机器上自动化所有200个构建,而无需编写用于远程登录或ftp的脚本。
或者还有其他简单方法可以处理多个* nix平台中的构建吗?