2017-08-18 17 views
1

Mit GitLab-CI versuche ich, eine geheime Variable in eine Datei in einem Docker-Container zurückzusenden. Die Datei existiert und der Benutzer hat die Berechtigung, in die Datei zu schreiben, aber ich bekomme einen No such file or directory Fehler.Datei nicht gefunden in Docker Container mit GitLab-CI

$ /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 
+0

kann u bitte die dockerfile oder yaml Datei laden je nachdem, was u verwendet, um auf die conatiner – utkarsh31

+1

Versuchen Sie das komplette umschließenden Echo in Anführungszeichen umleiten und so „echo $ KUBE_ADMIN_ACCOUNT>/opt /application/conf/kubeadminaccount.yml " –

+0

Ich würde die Art und Weise aktualisieren, wie Sie den Container erstellen, anstatt zu versuchen, ihn zu aktualisieren, während er ausgeführt wird –

Antwort

1

Ihr Umleitungsoperator funktioniert auf dem Host und nicht in Ihrem Container. Ändern unter

$ /usr/bin/docker exec -t $CI_PROJECT_NAME echo $KUBE_ADMIN_ACCOUNT > /opt/application/conf/kubeadminaccount.yml 

zu

$ /usr/bin/docker exec -t $CI_PROJECT_NAME bash -c "echo $KUBE_ADMIN_ACCOUNT > /opt/application/conf/kubeadminaccount.yml" 
+0

Hatte' \ "' um die Variable wegen des komplexen Werts hinzugefügt. –

+0

Ja, das wäre benötigt, wenn Wert neue Zeilen hat. Aber Ruhe jetzt Dinge für Sie arbeiten? –

+0

Ja. Vielen Dank! –

Verwandte Themen