gitlab-ci - 如何保存用于在 Gitlab CI 中执行构建的 Docker 容器?

标签 gitlab-ci gitlab-ci-runner

我将 Gitlab CI 与使用 Docker 的运行程序结合使用。在Gitlab的一个项目的git repo中,我放置了一个.gitlab-ci.yml文件。推送这个文件会导致运行器根据我提供的 Docker 镜像创建一个 Docker 容器。然后运行 ​​yml 文件中规定的构建步骤。当构建成功时,这非常有效。

但是,当构建失败时,我希望能够在用于运行此构建的 Docker 容器中找到原因。这可能吗?

'docker ps' 的输出显示容器在构建期间正在运行,但之后 'docker ps -a' 的输出显示容器已被完全删除。有什么办法可以防止这种情况吗?

最佳答案

目前,它不是来自开发人员的意图。也许它是可能的,但是如果有办法做到这一点,如果您在运行容器后想要容器,那么它比有用更复杂。我会说不。在我看来,它与使用 docker 进行测试的基本思想背道而驰。

但我有一个解决方法的想法:

假设您有一个带有 .gitlab-ci.yml 的项目文件在其中。您可以在安装了 docker 的任何地方自行运行 docker 容器:
docker run -it debian:latest
并自己运行测试。我认为这种方式不切实际,但它是一种可能的方式。
也许它有帮助。

关于gitlab-ci - 如何保存用于在 Gitlab CI 中执行构建的 Docker 容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34873368/

相关文章:

c++ - 为什么更改链接顺序可以修复一个系统上的一些链接错误?

c - 如何使用 Gitlab CI .yml 文件打印 Hello World

ssh - 如何通过 ssh 进入 GitLab 默认共享运行器?

linux - Shell执行器是如何运行脚本的?

maven - Gitlab CI 不在部署阶段后台 JAR 文件

gitlab - .gitlab-ci.yml 中的条件 after_script

Gitlab:出现了运行系统故障

python - 查找屏蔽的 CI/CD 变量的值

Jestjs 测试在 Gitlab CI 中失败

docker - Gitlab-CI DinD 不会启动