2016-04-23 3 views
0

Документация GitLab отсутствует и не очень ясна. Как настроить этот файл для автоматической сборки моего проекта на C++ (он скажет вам, прошел ли он или не прошел) и как мне настроить отдельные сборки для Windows/Mac/Linux. Если вам нужно, чтобы я делился своим репо с вами, просто спросите.Мне нужна помощь в создании файла .gitlab-ci.yml для C++

+0

Просто покажите нам файл .gitlab-ci.yml. – Kiloreux

+1

@Kiloreux У меня его еще нет, потому что я не понимаю, как установить его для C++. Я использую gitlab.com и использую своих общих участников. Я новичок в CI, и я просмотрел документы для файла .gitlab-ci.yml, но не мог понять, как это сделать для C++, их пример был для ruby ​​on rails (чего я не знаю) , – PlanetVaster

ответ

3

Перед тем, как автоматизировать что-нибудь, запустите его вручную. Напишите сценарий оболочки, затем поместите это в CI. Ниже приведен простой шаблон с использованием исполнятеля оболочки.

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, поэтому вы можете захотеть иметь перед скриптом, который устанавливает каталог сборки. Вам нужно будет создать кеш и настроить все переменные, которые вы хотите установить в своем проекте, а затем построить. 'cmake {PATH_TO_CMakeLists.txt} --DCMAKE_BUILD_TYPE: STRING = Release -DBUILD_FLAG_EXAMPLE: BOOL = ON' и построить:' 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 

Этого должно быть достаточно, чтобы вы начали.

Смежные вопросы