首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CI模式下不使用_any_码头图像是否可以用于GitLab?

在CI模式下不使用_any_码头图像是否可以用于GitLab?
EN

Stack Overflow用户
提问于 2022-06-09 19:32:07
回答 1查看 36关注 0票数 0

我有一个存储库,它有一系列文档(多标记文件、PDF、GSN参数等)。这需要使用我们的内部(目前)专有工具将这些文档组装成类似HTML的文档。内部工具使用起来非常复杂,而且(目前)还不能部署。

我尝试的是编译Ubuntu上的内部工具,我知道这个工具将用于这项工作,然后不告诉GitLab (我们使用的是自托管的GitLab)在试图组装文档时使用任何接口映像。唉,当CI作业运行时,我看到:

代码语言:javascript
复制
Pulling docker image alpine:latest ...

然后,当然,我在VM上安装的东西都没有了。

  1. 是否有一种方法可以让GitLab在没有任何Docker映像的情况下运行CI作业?
  2. 如果没有(或者如果这一选择只是简单的“更好”),那么阅读如何将这个复杂的内部工具安装到Docker映像中的好资源是什么?

注意:当前“安装”复杂的内部工具的方法,除了通过apt-get等安装软件包(我已经有关于如何在Docker中这样做的例子)之外,是克隆存储库,然后在克隆的目录中运行npm installrake install

EN

回答 1

Stack Overflow用户

发布于 2022-06-09 20:21:55

这是由你的GitLab运行配置控制的.当运行程序使用docker执行器时,它将始终为构建使用一个停靠映像。如果您想在不使用docker的情况下运行GitLab作业,则需要在VM上配置带有"shell“执行器的GitLab运行程序。

然而,使用image: ubuntu:focal或类似的可能就足够了。您通常不必担心执行者碰巧在容器中运行您的任务。这也是有益的,因为它意味着您的构建环境是可复制的,该过程将在您的工作中定义。

代码语言:javascript
复制
myjob:
  image: ubuntu:focal
  script:
    - apt update && apt install -y nodejs ruby # or whatever else
    # - npm install
    # - gem install
    # - rake install
    # etc...
    - 

或者更好的是,如果您可以在安装了核心依赖项的情况下生成一个坞映像,那么您只需在image: my-special-image作业中使用GitLab来使用该映像作为构建环境。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72565718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档