在Docker容器中使用GitLab-CI找不到文件
使用GitLab-CI,我试图将一个秘密variables回显到Docker容器内的文件中。 该文件存在,用户有权写入文件,但我得到一个No such file or directory
错误。
$ /usr/bin/docker exec -t $CI_PROJECT_NAME ls -la /opt/application/conf/kubeadminaccount.yml -rw-rw-r-- 1 nodeuser nodeuser 420 Aug 18 07:19 /opt/application/conf/kubeadminaccount.yml $ /usr/bin/docker exec -t $CI_PROJECT_NAME whoami nodeuser $ /usr/bin/docker exec -t $CI_PROJECT_NAME echo $KUBE_ADMIN_ACCOUNT > /opt/application/conf/kubeadminaccount.yml bash: line 69: /opt/application/conf/kubeadminaccount.yml: No such file or directory
您的redirect操作符在主机上工作,而不在您的容器内。 改变如下
$ /usr/bin/docker exec -t $CI_PROJECT_NAME echo $KUBE_ADMIN_ACCOUNT > /opt/application/conf/kubeadminaccount.yml
至
$ /usr/bin/docker exec -t $CI_PROJECT_NAME bash -c "echo $KUBE_ADMIN_ACCOUNT > /opt/application/conf/kubeadminaccount.yml"