Ich würde gerne wissen, ob es irgendwie möglich wäre, Datei/Ordner von innen Docker zum Host zu kopieren, aber das Kopieren von selbst ist Formular innerhalb Docker ausgeführt.Kopieren von Docker zu Host innerhalb CI Build
Der Grund dafür ist, dass zum Beispiel:
- Commit Datei
- CI Tritte in
- Docker installiert Abhängigkeiten Repo, baut die Website-Dateien
- Webseite Dateien von Docker kopiert wird/var/www/my-Webseite (Host)
Als ich nach einer Lösung gesucht habe ich diesen Befehl gesehen viel docker cp <containerId>:/file/path/within/container /host/path/target
jedoch wird dies von HOST ausgeführt. Ich möchte den gesamten Prozess automatisieren.
Mögliche Lösung ist natürlich, nicht Docker, sondern gerade SSH, das ist, was ich jetzt mache, aber das ist nicht die beste Option IMO.
Hier ist ein Beispiel meiner .gitlab-ci.yml
Datei, die erklären wird, was ich erreichen möchte.
image: ubuntu:16.04
build:
stage: build
script:
- apt-get update
- apt-get upgrade -yy
- apt-get install hugo -yy # Static site generator
- hugo build # Build the website
- cp -R ./build/* /var/www/my-website/ # Copy to the web root
Hier ist mein Läufer Konfiguration
[[runners]]
name = "DOCKER-TEST"
url = "https://gitlab.com/ci"
token = "{{token}}"
executor = "docker"
[runners.docker]
tls_verify = false
image = "ubuntu:16.04"
privileged = true
disable_cache = false
volumes = ["/cache", "/home/stan:/builds/stanislavromanov/test-docker:rw"]
[runners.cache]
Insecure = false
Hey, ich habe versucht, dieses eine 'volumes = ["/cache ","/builds/stanislavromanov/test-docker:/home/stan: rw "]' und hat keine Datei in meinem Haus erstellt Richt. Habe auch versucht, die Datei direkt zu kopieren, so wie 'cp myCoolFile/usr/stan/myCoolFile'. Mache ich etwas falsch? Hier ist das Repo https://gitlab.com/stanislavromanov/test-docker/ – sed
Die Volume-Definition soll * Host_path: container_path * sein, während es mir scheint, dass Sie das Gegenteil eingerichtet haben. – tmt
Hey, ich habe meine Konfiguration zu der Antwort hinzugefügt, sieht es für Sie richtig aus? – sed