【问题标题】:Having gitlab produce installers让 gitlab 生成安装程序
【发布时间】:2017-06-15 11:54:30
【问题描述】:

我用跑步者和 CI 建立了一个 gitlab 社区实例,它运行良好。我现在面临的问题是:

  • 项目 EXE 是主要的可执行文件
  • 项目DLL是EXE需要的依赖DLL

我可以使用 Gitlab 运行器独立构建 EXE 和 DLL,但是有什么方法可以拥有 Gitlab

  1. 构建 DLL
  2. 构建 EXE
  3. 将它们打包在一起(如果我可以让 InnoSetup 或其他类型的安装程序创建器吐出一个成熟的安装程序作为工件,那将是很棒

?

【问题讨论】:

    标签: git version-control continuous-integration gitlab


    【解决方案1】:

    使用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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多