blackandred.server_docker_project
Projekt Dockerowy
Automatyczne wdrożenie środowiska Dockerowego z GIT, które zawiera:
- integrację z systemd
- specyficzną konfigurację .env dla produkcji
- specyficzną konfigurację .env dla serwera testowego (gdy: host równa się localhost)
- wsparcie Makefile do zarządzania projektem
- Opcjonalnie: Zaszyfrowane pliki .env-prod w repozytorium projektu, odszyfrowywane podczas wdrożenia
Wstępne wymagania
- Musisz mieć projekt na dowolnym serwerze git.
- Projekt musi mieć plik Makefile z zadaniem "deployment_pre".
- Twój projekt musi mieć plik
.env
lub.env-template
, który zostanie skopiowany do.env
.
Środowisko
# użytkownik który wdraża aplikację
deploy_user: tech.admin
deploy_group: technical
compose_env_name: "nazwa-twojego-środowiska-docker-compose"
systemd_service_sleep: 30
project_dir: /project
# zmień na coś jak "./make.sh", jeśli masz skrypt uruchamiany jako root dla danej grupy użytkowników
# nie używaj sudo tutaj (unikaj używania sudo w sudo)
make_executable: "./make.sh"
# ten adres zostanie ustawiony tylko podczas czasu wdrożenia
git_deploy_url: https://user:password@somehost/someuser/somerepo
# bez użytkownika i hasła, ten adres pozostanie na serwerze
git_regular_deploy_url: https://somehost/someuser/somerepo
# zapobiega ponownemu uruchamianiu całego środowiska podczas wielokrotnego wdrożenia projektu
avoid_whole_environment_restart: yes
#
# Odtworzenie z kopii zapasowej, podczas pierwszego wdrożenia może być konieczne przywrócenie całego środowiska z kopii zapasowej lub w przypadku awarii.
# Generalnie ten flag powinien być ustawiany ręcznie na każde wdrożenie.
#
# Tylko jeśli skonfigurowałeś instancję repozytorium plików na zewnętrznym serwerze do przechowywania kopii zapasowych.
#
restore_from_backup_with_recovery_plan: no
# preferuj .env-prod (jeśli jest obecny w sklonowanym repozytorium git) zamiast .env-dist
prefer_env_prod_over_dist: yes
# wsparcie dla .env (działa również z .env-prod)
test_specific_env:
- { line: "DOMAIN_SUFFIX=.localhost", regexp: '^DOMAIN_SUFFIX', title: 'env: Dodaj sufiks domeny - .localhost' }
production_specific_env:
- { line: "DOMAIN_SUFFIX=", regexp: '^DOMAIN_SUFFIX', title: 'env: Usuń sufiks domeny' }
Rozwiązywanie problemów
- Aktywowano jako użytkownik X, ale uruchamiający Harbor od Riotkit jako użytkownik Y
Może być to mylące dla Makefile, kto dokładnie powinien uruchamiać polecenia bez uprawnień. Rozwiązaniem jest zrezygnowanie z automatycznego wykrywania użytkownika, poprzez hardcodowanie identyfikatora użytkownika i grupy w pliku .env.
test_specific_env:
- { line: "DOMAIN_SUFFIX=.localhost", regexp: '^DOMAIN_SUFFIX', title: 'env: Dodaj sufiks domeny - .localhost' }
- { line: "APP_USER=tech.admin", regexp: '^APP_USER', title: 'env: APP_USER' }
- { line: "APP_GROUP_ID=1800", regexp: '^APP_GROUP_ID', title: 'env: APP_GROUP_ID' }
production_specific_env:
- { line: "DOMAIN_SUFFIX=", regexp: '^DOMAIN_SUFFIX', title: 'env: Usuń sufiks domeny' }
- { line: "APP_USER=tech.admin", regexp: '^APP_USER', title: 'env: APP_USER' }
- { line: "APP_GROUP_ID=1800", regexp: '^APP_GROUP_ID', title: 'env: APP_GROUP_ID' }
Zainstaluj
ansible-galaxy install blackandred.server_docker_project
Licencja
other
Pobrania
137
Właściciel
ZSP is a grassroot organization acting for workers self-organization. Is a part of the International Workers Association (iwa-ait.org)