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