gitlab ci/cd如何在docker in docker 下 将流水线的产物输出到宿主机上?
【摘要】
docker in docker 的意思是 gitlab-runner 是使用docker 安装启动 runner的执行器选择的也是docker。那么流水线就会在docker 镜像中运行
这种情况下如何...
docker in docker 的意思是 gitlab-runner 是使用docker 安装启动
runner的执行器选择的也是docker。那么流水线就会在docker 镜像中运行
这种情况下如何将流水线构建出来的一些文件放到宿主机上那?
答案就在gitlab-runner 的config.toml
文件中
首先配置项目的runner
在[runners.docker] 模块下
配置 volumes, 配置它就很类似我们的 docker run -v ....
也是挂载本地目录到容器中。 注意后面跟着一个 :rw
这个表示是同步读写。意思就是如果你在容器中 操作,改变了 目录 /build/fizz
那么这些变化都会同步映射到宿主机的 /home/fizz/www/docker_build
目录。
"/home/fizz/www/docker_build:/build/fizz:rw"
配置截图
注意这样配置之后,还需要在流水线中进行一个操作。因为我们的镜像 都没有这个目录/build/fizz
贸然去映射会报找不到目录 。导致流水线无法运行。
所以我们要在 before_script
中 创建改目录。
如下
default:
tags:
- kunpeng
before_script:
- mkdir -p /build/fizz
job:
script:
- cd /build/fizz && touch 1.txt
- ls -l
进入本地目录,验证结果
cd /home/fizz/www/docker_build && ls -l
完成。
文章来源: fizzz.blog.csdn.net,作者:拿我格子衫来,版权归原作者所有,如需转载,请联系作者。
原文链接:fizzz.blog.csdn.net/article/details/120195224
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)