2016-04-23 6 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++のための方法を理解できませんでした。その例題の1つはレール上のルビーです(これはわかりません) 。 – 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 =リリース-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 

開始するには十分であるはずです。

関連する問題