2016-04-23 87 views
0

GitLab文档缺乏,也不是很清楚。如何设置这个文件来自动构建我的C++项目(它会告诉你它是否通过或失败),以及如何配置为Windows/Mac/Linux单独构建。如果您需要我与您分享我的回购请求。我需要帮助为C++设置一个.gitlab-ci.yml文件

+0

只需向我们展示.gitlab-ci.yml文件即可。 – Kiloreux

+1

@Kiloreux我还没有一个,因为我不知道如何为C++设置一个。我使用gitlab.com并使用他们共享的跑步者。我是CI的新手,我查看了.gitlab-ci.yml文件的文档,但无法弄清楚如何为C++做一个,他们的例子是用于rails的ruby(我不知道) 。 – PlanetVaster

回答

3

在您自动执行任何操作之前,请手动运行它。编写一个shell脚本,然后把它放在CI中。以下是使用shell执行程序的简单模板。

before_script: 
    - export BUILD_VAR=if_needed 

build_linux: 
    stage: build 
    script: 
     - my_build_script.sh 

如果你的步骤很简单,你可以把它们直接在CI配置:

build_linux: 
    stage: build 
    script: 
     - ./configure 
     - make 

获取从那里工作的最简单的例子,然后成长吧。

+1

好吧,我应该把什么放在我的脚本,我必须用cmake或其他东西建立?对不起,我对C++社区很新,我习惯于统一和其他更简单的语言,但我喜欢学习,而C++非常棒。现在我只有一个基本的游戏,所以命令不应该太复杂。 – PlanetVaster

+0

习惯上使用CMake进行树外构建,因此您可能需要一个用于设置构建目录的before脚本。你将需要创建一个缓存并设置你想要在你的项目中设置的任何变量,然后构建。 'cmake {PATH_TO_CMakeLists.txt} --DCMAKE_BUILD_TYPE:STRING =发布-DBUILD_FLAG_EXAMPLE:BOOL = ON'和build:'cmake --build .'。 'cmake --build .'可以在所有平台上工作,但不会被并行化 - 您可能想要使用特定于平台的构建命令,例如'make'或'MSBuild'以及适当的参数并行运行。 – chirality

0

要构建一个C++应用程序,您需要一个编译器。您可以使用具有编译器的现有Docker镜像。我在这里使用gcc图片。

这是我的.gitlab-ci.yml文件。您不必使用CMake,只需放入构建应用程序所需的任何命令,并确保您已满足映像中的构建依赖关系。

# Use the official gcc image 
image: gcc 

before_script: 
    # Install build dependencies 
    - apt-get update && apt-get -y install cmake 

myapp: 
    # Build the application 
    stage: build 
    script: 
     - mkdir build 
     - cd build 
     - cmake .. 
     - make 

这应该足以让你开始。