当前位置: 首页 > 面试题库 >

如何在.gitlab-ci.yml中的Docker容器中装载卷?

燕英奕
2023-03-14
问题内容

我在.gitlab-ci.ymlandroid项目中使用docker作为GitLab
CI运行器。在测试运行结束时,gradlew将测试结果保存在build目录下的xml和html中:

Finished generating test XML results (0.001 secs) into: /builds/org/project/sdk/build/test-results/release
 Generating HTML test report...
Finished generating test html results (0.002 secs) into: /builds/org/project/sdk/build/reports/tests/release

我想访问这些文件,但是文档中没有提到如何像那样装载卷docker run -v <path>:/builds/org/...


问题答案:

我建议不要从主机为您的CI装入卷。如果确实需要,则必须相应地配置运行器(config.toml)。如果使用的是运行程序shared,则永远不会知道要在哪个系统上执行特定的构建。

我认为更好的解决方案是将测试结果定义为工件。

这样,测试结果不仅适用于最新版本,而且适用于较早的版本。

在下面,您可以找到config.toml用于构建docker-
images的运行程序的配置()。您可以用/var/run/docker.sock您想要结束生成结果的目录替换。

[[runners]]
  name = "Docker"
  url = "https://mygitlab/ci"
  token = "mytoken"
  executor = "docker"
  [runners.docker]
    tls_verify = false
    image = "docker:latest"
    privileged = false
    disable_cache = false
    volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
  [runners.cache]
    Insecure = false


 类似资料:
  • 问题内容: 我有一个包含以下内容的文件: 但是我收到消息: 我究竟做错了什么? 问题答案: 编辑 我添加了另一个答案,为支持docker-compose的.gitlab-ci.yml配置提供了一个最小的示例。 可以作为Python软件包安装,该软件包不随映像一起提供。您选择的映像甚至没有提供Python安装: 寻找Python会得到空的结果。因此,您必须选择适合您需要的其他映像,并且理想情况下已安

  • 我创建了一个Docker容器,但现在需要将作为安装在容器内部。 如果我手动更改Docker文件夹中的文件,并取消挂载行的注释,Docker似乎挂起。 此外,文件会不时重新创建。 我需要知道在哪里可以更改创建lxc配置的Docker配置文件。

  • 如何在高山容器中安装Docker并运行docker映像?我可以安装,但无法启动docker,并且在运行时获取“docker命令未找到错误”。

  • 我正在尝试设置一个运行UbuntuLinux18.04作为docker主机的构建服务器。 主机有三个docker容器在运行——docker注册表——Gitlab服务器——Gitlab Runner(用于构建应用程序) 我希望Gitlab Runner容器使用nginx和编译的Angular代码构建docker映像,并将其推送到docker注册表。 我已经成功地设置了所有三个运行的容器,Gitlab

  • 我试图在GitLab ci管道中运行curl--retry命令,但在管道中失败了,但当我尝试在其他地方运行它时,它工作正常。 我正在尝试检查我的url是否已启动,这将一直运行到我的url已启动,然后运行脚本的其余部分以配置我的应用程序 curl-Is-k--重试50--重试延迟0--重试https://{URL}-vvv 正在尝试127.0.1.1:8443 TCP_节点延迟设置 已连接到{url

  • 我只想用 docker-compose.yml 启动一个 oracle docker 容器。 到目前为止,这有效,直到我添加了一个文件夹来同步/装载/容器中的任何内容。 问题1:如果主机上的文件夹丢失 - docker没有挂载任何问题 2:一个空文件夹被git忽略 - 所以我添加了一个空文件 所以如果我现在开始我的docker-compose,docker将带有我的假文件的文件夹挂载到oracle