我有一个Docker类型的Gitlab CI runner,并且有一个包含Dockerfile的仓库,我将使用它来构建我的构件。
我知道可以分为两个阶段完成,一是使用docker镜像构建图像并将其推送到注册表,二是使用该镜像构建构件。
但是我不关心将镜像保留在注册表中,我想跳过此步骤,只需在管道中使用docker镜像即可,而无需将其推送。
因此,在我的.gitlab-ci.yml文件中,我尝试了以下操作,只使用了docker build和docker run命令:
我的Dockerfile具有一个入口点,它需要源目录和构建目录参数。当然,我的代码库中源目录已经填充好了文件。
不过,在
如何修复运行步骤才能够找到文件?或者有没有不同的方法来实现我想要的结果?
我知道可以分为两个阶段完成,一是使用docker镜像构建图像并将其推送到注册表,二是使用该镜像构建构件。
但是我不关心将镜像保留在注册表中,我想跳过此步骤,只需在管道中使用docker镜像即可,而无需将其推送。
因此,在我的.gitlab-ci.yml文件中,我尝试了以下操作,只使用了docker build和docker run命令:
build-docs:
tags:
- docker
image: docker:stable
stage: build-docs
script:
- docker build -t $IMAGE_TAG .
- docker run --rm $IMAGE_TAG source build
artifacts:
paths:
- build
我的Dockerfile具有一个入口点,它需要源目录和构建目录参数。当然,我的代码库中源目录已经填充好了文件。
不过,在
docker run
步骤中,找不到代码库的文件,就像source
目录是空的一样,但我想这是因为在Docker镜像中运行另一个Docker镜像有点奇怪。如何修复运行步骤才能够找到文件?或者有没有不同的方法来实现我想要的结果?
docker run -v $(pwd):/path/inside/where/they/should/be --rm $IMAGE_TAG source build
。 - anemyte