2016-04-23 83 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 

這應該足以讓你開始。