2017-01-30 2 views
0

Ich habe eine gitlab Gemeinschaft Instanz mit Läufern und CI und es funktioniert gut. Das Problem, das ich mit Blick auf bin in diesem Augenblick ist:Mit Gitlab produzieren Installateure

  • Projekt EXE ist die ausführbare Haupt
  • Projekt DLL die abhängige DLL ist, die EXE

muss ich EXE und DLL unabhängig mit Gitlab Läufer bauen aber ist es eine Möglichkeit, Gitlab

  1. Build-DLL
  2. Build-EXE
  3. haben
  4. packen sie zusammen (es große wäre, wenn ich InnoSetup oder eine andere Art von Installer-Schöpfer eine ausgewachsene haben könnte Installer als Artefakt auszuspucken)

?

Antwort

0

Mit git submodules ist wahrscheinlich der Weg hier zu gehen. Auf diese Weise können Sie zwei separate Projekte verwalten, während ein Projekt vom anderen abhängig ist. Der nette Effekt hier ist, dass das CI Ihr EXE-Projekt zieht, Sie können Submodule mit git submodule update --recursive --remote ziehen. Dann können Sie zuerst Ihre DLL erstellen (sie befindet sich jetzt bereits in Ihrem EXE-Projekt) und dann Ihre EXE erstellen.

Eine Probe .gitlab-ci.yml könnte wie folgt aussehen:

stages: 
    - build 
    - test 
    - deploy 

buildjob: 
    stage: build 
    script: 
    - git submodules update --recusive --remote 
    - <build DLL> 
    - <build EXE> 
    - <create installer> 
    artifacts: 
    paths: 
    - <path to installer>