51 lines
1.3 KiB
Python
51 lines
1.3 KiB
Python
#!/usr/bin/env python3
|
|
|
|
import subprocess
|
|
|
|
PROJECT_LIST_FILE = "projects.list"
|
|
SCRIPT = "update_docker_project.py"
|
|
|
|
EXAMPLE = """
|
|
# PRZYKŁAD FORMATU (projects.list):
|
|
# nazwa_projektu|/ścieżka/do/folderu|nazwa_pliku_docker_compose
|
|
|
|
mktxp|/opt/mktxp-stack|docker-compose.yml
|
|
drawio|/opt/drawio|docker-compose.yml
|
|
"""
|
|
|
|
def run_project(name, path, compose):
|
|
print(f"\n Aktualizacja: {name}")
|
|
cmd = [
|
|
"python3", SCRIPT,
|
|
"--only-updated",
|
|
"--project-folder", path,
|
|
"--compose-file", f"{path}/{compose}",
|
|
"--project-name", name
|
|
]
|
|
result = subprocess.run(cmd)
|
|
if result.returncode != 0:
|
|
print(f" Błąd w projekcie {name}")
|
|
else:
|
|
print(f" Zakończono: {name}")
|
|
|
|
def main():
|
|
if not os.path.exists(PROJECT_LIST_FILE):
|
|
print(f"Błąd: brak pliku {PROJECT_LIST_FILE}")
|
|
print(EXAMPLE)
|
|
return
|
|
|
|
with open(PROJECT_LIST_FILE, "r") as f:
|
|
for line in f:
|
|
line = line.strip()
|
|
if not line or line.startswith("#"):
|
|
continue
|
|
try:
|
|
name, path, compose = line.split("|")
|
|
run_project(name, path, compose)
|
|
except ValueError:
|
|
print(f" Zły format w linii: {line}")
|
|
|
|
if __name__ == "__main__":
|
|
import os
|
|
main()
|