首页 > 解决方案 > 如何将文件从 GitLab Runner 助手容器复制到构建容器?

问题描述

设置

我使用 KubernetesExecutor 设置了 GitLab Runner,并希望创建一个自定义帮助程序映像,该映像将一些额外的文件添加到构建容器中。

当前的设置非常基本:

代码

启动.sh

#!/bin/bash

printenv > /test.out  # Check whether the script is run.
cp /var/Dockerfile /builds/Dockerfile  # Copy file to shared volume.

exec "$@"

Dockerfile

FROM gitlab/gitlab-runner-helper:x86_64-latest

ADD templates/Dockerfile /var/Dockerfile
ADD start.sh /var/run/start.sh

ENTRYPOINT ["sh", "/var/run/start.sh"]

容器之间的共享卷是:/builds. 因此,我想复制/var/Dockerfile/builds/Dockerfile.

问题

start.sh在执行帮助图像时,我似乎找不到(甚至)运行的方法。使用 kubectl exec -it pod-id -c build bashand kubectl exec -it pod-id -c helper bash,我验证文件是否已创建。当我start.sh从后一个命令运行(手动)时,文件被复制。但是,最初登录帮助程序映像时,两者/test.out都不可用。/builds/Dockerfile

尝试

标签: dockergitlabgitlab-cigitlab-ci-runner

解决方案


推荐阅读