2017-01-30 11 views
0

ランナーとCIを使用してgitlabコミュニティインスタンスをセットアップしました。私が今直面しています問題は、次のとおりです。gitlabでインストーラを作成する

  • プロジェクトEXEプロジェクトDLLはEXEが

が必要な依存DLLです

  • 私はGitlabランナーで独立してEXEやDLLを構築することができ、メインの実行可能ですしかしGitlab

    1. ビルドDLL
    2. ビルドEXE
    3. を持っているどのような方法があります3210

    (私はInnoSetupやアーティファクトなどの本格的なインストーラを吐き出すためのインストーラ-作成者の他のいくつかの種類を持っていることができれば、それは素晴らしいだろう)、それらを一緒にパック?

  • 答えて

    0

    git submodulesを使用するとおそらくここに行くことができます。このようにして、2つの別々のプロジェクトを維持することができますが、一方のプロジェクトはもう一方のプロジェクトに依存します。ここでのきちんとした効果は、CIがEXEプロジェクトを引き出すことです。サブモジュールをgit submodule update --recursive --remoteで引っ張ることができます。次に、まずあなたのDLLをビルドして(今はすでにEXEプロジェクトにあります)、EXEをビルドします。

    サンプル.gitlab-ci.ymlは次のようになります:

    stages: 
        - build 
        - test 
        - deploy 
    
    buildjob: 
        stage: build 
        script: 
        - git submodules update --recusive --remote 
        - <build DLL> 
        - <build EXE> 
        - <create installer> 
        artifacts: 
        paths: 
        - <path to installer> 
    
    関連する問題