2017-01-30 60 views
0

我使用runners和CI設置了一個gitlab社區實例,效果很好。我面對現在的問題是:讓gitlab生成安裝程序

  • 項目EXE是主要的可執行
  • 項目DLL是EXE需要

我可以Gitlab亞軍建立獨立EXE和DLL的依賴DLL但沒有任何辦法有Gitlab

  1. 構建DLL
  2. 生成EXE
  3. 打包在一起(這將是巨大的如果我能有InnoSetup或一些其他類型的安裝創造者的吐出一個全面的安裝神器)

回答

0

使用git submodules可能是這裏的方法。這樣,您可以維護兩個獨立的項目,而一個項目依賴於另一個項目。這裏整潔的效果是,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>