我有一个针对多个OS(Linux,Windows,MacOS)以及多个CPU体系结构(i386,x86_64,arm,Aarch64)进行编译和打包的C ++项目。为此,我正在使用Jenkins来获取源代码并运行在每个系统上并行构建脚本。这是一个简单的工作解决方案,因为我的构建脚本处理了系统差异。
现在,我正在研究Gitlab CI / CD,它具有许多吸引人的地方(能够将构建脚本保留为存储库的一部分,可以与git repo和票务系统很好地集成在一起,可以自然使用Docker容器,等),但我找不到在相互平行的多个架构/系统中运行相同管道的任何方法。
所以,说我的构建脚本是:
build:
stage: build
script:
- uname -m > arch.txt
artifacts:
paths:
- arch.txt
Run Code Online (Sandbox Code Playgroud)
如何告诉Gitlab我想同时在多个运行器/ Docker容器/系统中运行此作业?到目前为止,我阅读的所有文档都涉及在一个构建上运行多个测试,集成多个项目或根据分支机构在不同的环境中进行部署。到目前为止,我还没有尝试过进行许多单独的构建,分别测试和打包它们以及报告其独立结果的方法。在Gitlab CI / CD上可行吗?