Closed The-Compiler closed 3 years ago
Ist das einfach ein WebUI für Docker? Oder macht das noch mehr?
Ist das einfach ein WebUI für Docker? Oder macht das noch mehr?
Grundsätzlich ja, man könnte damit aber auch via Webhook container aktualisieren (fürs Continuous Deployment.)
Aus deploy-new/production.j2.yaml:
# Portainer - Admin console for docker
portainer:
image: portainer/portainer
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
ports:
- "9000:9000/tcp"
mode: replicated
replicas: 0
resources:
limits:
cpus: "0.1"
memory: "500M"
reservations:
cpus: "0.075"
memory: "250M"
Grundsätzlich ja, man könnte damit aber auch via Webhook container aktualisieren (fürs Continuous Deployment.)
Dafür ist https://github.com/containrrr/watchtower auch recht cool. (Nein, das Tool kommt nicht von den Zeugen Jehova :smile:)
Habe jetzt Watchtower mal eingerichtet, mit 1 Minute Refresh-Interval: aa57fb337ee4f8f222a023a986b59d1fd6f50551
Musste dafür noch eine Änderung im docker-compose File machen:
https://github.com/studentenportal/web/pull/259
Scheint zu klappen:
time="2020-07-29T21:34:32Z" level=info msg="Found new studentenportal/web:latest image (sha256:0019d849ba93c808efbb5de00596843724b200c63aebc56e7ba54445641e14e3)"
time="2020-07-29T21:34:34Z" level=info msg="Stopping /web_studentenportal_1 (d6bd1e24075db7535dfc8102e2432d9ab38994cd35d350488ba60482defc0e81) with SIGTERM"
time="2020-07-29T21:34:45Z" level=info msg="Creating /web_studentenportal_1"
time="2020-07-29T21:34:46Z" level=info msg="Removing image sha256:558d6db1ce37934c3b04966b5d8e240d7f3ab8414f3db9ac63bcc69372b4892f"
:tada:
Watchtower kann über docker logs -f watchtower
monitored werden.
Der Nginx-Container wird momentan noch nicht updated, da wir davon keine Images builden / publizieren. Sollte man wohl in einem nächsten Schritt noch tun.
Aber für den Moment gilt: Nach einem Push auf den master-Branch wird nach der Publikation des Docker-Images innerhalb einer Minute der Web-Container re-deployed.
@fabianhauser @The-Compiler können wir dieses Issue schliessen?
(Watchtower könnte man übrigens auch per HTTP triggern. Aber ich denke Polling ist schöner, da komplett entkoppelt.)
Sehr cool, ich hab mir das irgendwie deutlich komplizierter vorgestellt! Ja, ich denke wir können das Issue zumachen. Eine Minute delay ist wohl kein Problem und das Ansible auto-deployment brauchts IMHO nicht unbedingt (Änderungen wirds wohl eher an der Codebase selbst geben).
https://www.portainer.io/
Ist aber für mich momentan out of scope, weil nie genauer abgesprochen