我有一个非常简单的gitlab ci任务。只需从Dockerfile构建映像并将其推送到gitlab docker存储库:
- echo $CI_REGISTRY_IMAGE
- docker build -t $CI_REGISTRY_IMAGE .
- docker push "$CI_REGISTRY_IMAGE:latest"
这是我的输出:
$ echo $CI_REGISTRY_IMAGE
vb-git.example.com:8888/my/test
$ docker build -t $CI_REGISTRY_IMAGE .
Sending build context to Docker daemon 131.1kB
Step 1/1 : FROM openjdk
---> b853c027c6f5
Successfully built b853c027c6f5
Successfully tagged my.example.com:8888/my/test:latest
$ docker push $CI_REGISTRY_IMAGE:latest
"docker push" requires exactly 1 argument.
See 'docker push --help'.
Usage: docker push [OPTIONS] NAME[:TAG]
我怀疑这与Windows Shell执行程序无法正确解析推送行有关。当我像下面这样写推时,它起作用:
- docker push my.example.com:8888/my/test:latest
但是如何使用gitlabci变量执行此操作,以使Windows Shell执行程序不会混淆?
您可以在命令行上尝试echo $CI_REGISTRY_IMAGE
以确保它是没有空格的字符串