practical-ansible.nginx_docker
Nginx-Docker für Ansible
Nutzen Sie Ansible, um Docker-Projekte auf Nginx mit oder ohne HTTPS bereitzustellen. Diese Rolle spielt keine Rolle, welche Sprache Sie für Ihre Anwendung verwendet haben. Sie wurde entwickelt, um mit Werkzeugen für kontinuierliche Integration und kontinuierliche Bereitstellung zu arbeiten.
Funktionen
- Baut ein Docker-Image oder verwendet ein vorgefertigtes
- Erfordert kein Docker-Registry
- Konfiguriert HTTPS über nginx_project
- Ersetzt automatisch alte Versionen über project_name
Voraussetzungen
- Zielbenutzer mit Rechten zur Konfiguration von Nginx
- Zielbenutzer mit Rechten zum Ausführen von Docker
Installation
ansible-galaxy install practical-ansible.nginx_docker
Beispiel-Playbook
Dies wäre das gängigste Playbook
---
- name: Bereitstellung im Docker-Container für Tests
hosts: all
roles:
- role: practical-ansible.nginx_docker
vars:
admin_email: '[email protected]'
image_local: 'test_app.tar'
project_port: '3000'
project_name: 'my-app'
project_version: '0.1.0'
server_names: 'localhost,www.localhost'
use_ssl: true
env:
print_this: 'Bereitstellung testen: X Æ A-12'
Weitere Beispiele finden Sie im tests Verzeichnis.
Beispiel CI
Es gibt einige weitere Beispiele für Konfigurationen.
Referenzhandbuch
Nutzen Sie dies, um ein Burnout-Syndrom bei der Bereitstellung Ihrer Docker-Umhüllten Anwendung auf Nginx zu vermeiden.
Inhaltsverzeichnis
Standardvariablen
client_max_body_size
Maximale Dateigröße für den Upload in Nginx. Wert wie in der Nginx-Dokumentation definiert.
Standardwert
client_max_body_size: 1M
env
Wörterbuch von Umgebungsvariablen, die an den Docker-Container übergeben werden.
Standardwert
env:
nginx_docker: yes
Beispielverwendung
env:
PORT: 80
SECRET_TOKEN: xa2z3ik6
image_local
Pfad zum extrahierten Docker-Image. Wenn leer, versucht die Rolle, das Image auf dem lokalen Host zu erstellen, bevor sie das Image auf den Remote-Host hochlädt. Erwartet, dass sich die Dockerfile im selben Verzeichnis wie das Playbook befindet.
Standardwert
image_local: ''
Beispielverwendung
image: './dist/my-app.tar'
image_name
Name des Images, das aus dem Docker-Repository heruntergeladen wird.
Standardwert
image_name: ''
Beispielverwendung
image: 'requarks/wiki'
network_name
Name des Docker-Netzwerks, das von diesem Container verwendet wird. Die Rolle erstellt es bei Bedarf.
Standardwert
network_name: practical-ansible
Beispielverwendung
network_name: 'totally-separated-network'
project_port
Innerer Portnummer des Containers. Die Rolle wird diesen Port von Docker auf den Nginx-Proxy abbilden.
Standardwert
project_port: 80
Beispielverwendung
project_port: 3000
Abhängigkeiten
- {'role': 'practical-ansible.nginx_project'}
Lizenz
MIT
Autor
Pavel Žák
Deploy your Docker project to Nginx with minimal config
ansible-galaxy install practical-ansible.nginx_docker