practical-ansible.nginx_docker
Nginx-docker dla ansible
Użyj Ansible do wdrażania projektów Docker na Nginx z lub bez https. Ta rola nie zwraca uwagi na to, w jakim języku stworzyłeś swoją aplikację. Została stworzona do użycia z narzędziami do ciągłej integracji i ciągłego wdrażania.
Cechy
- Buduje lub używa gotowego obrazu dockera
- Nie wymaga rejestru dockera
- Konfiguruje https przez nginx_project
- Automatycznie zastępuje stare wersje za pomocą project_name
Wymagania wstępne
- Użytkownik docelowy z prawami do konfigurowania nginx
- Użytkownik docelowy z prawami do uruchamiania docker
Instalacja
ansible-galaxy install practical-ansible.nginx_docker
Przykładowy playbook
To byłby najczęstszy playbook
---
- name: Wdróż do konteneraDocker
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: 'Testowanie wdrożenia: X Æ A-12'
Więcej przykładów można znaleźć w katalogu tests.
Przykład CI
Są dostępne inne przykłady konfiguracji.
Podręcznik referencyjny
Użyj tego, aby uniknąć wypalenia zawodowego przy wdrażaniu swojej aplikacji owiniętej w Docker do nginx.
Spis treści
Domyślne zmienne
client_max_body_size
Maksymalny rozmiar pliku do przesłania dla Nginx. Wartość zdefiniowana w dokumentacji nginx
Domyślna wartość
client_max_body_size: 1M
env
Słownik zmiennych środowiskowych, które będą przekazywane do kontenera dockera.
Domyślna wartość
env:
nginx_docker: yes
Przykład użycia
env:
PORT: 80
SECRET_TOKEN: xa2z3ik6
image_local
Ścieżka do wyekstrahowanego obrazu dockera. Gdy pusta, rola spróbuje zbudować obraz na lokalnym hoście przed przesłaniem go na zdalny. Oczekuje, że plik Dockerfile będzie obecny w tym samym katalogu co playbook.
Domyślna wartość
image_local: ''
Przykład użycia
image: './dist/my-app.tar'
image_name
Nazwa obrazu, który będzie pobrany z repozytorium dockera.
Domyślna wartość
image_name: ''
Przykład użycia
image: 'requarks/wiki'
network_name
Nazwa sieci dockera używanej przez ten kontener. Rola stworzy ją, jeśli zajdzie taka potrzeba.
Domyślna wartość
network_name: practical-ansible
Przykład użycia
network_name: 'totally-separated-network'
project_port
Wewnętrzny numer portu kontenera. Rola przemapuje ten port z dockera na nginx.
Domyślna wartość
project_port: 80
Przykład użycia
project_port: 3000
Zależności
- {'role': 'practical-ansible.nginx_project'}
Licencja
MIT
Autor
Pavel Žák
Deploy your Docker project to Nginx with minimal config
ansible-galaxy install practical-ansible.nginx_docker