Woodpecker main loop almost finished
This commit is contained in:
parent
312631f0b5
commit
1341b022d4
2 changed files with 14 additions and 8 deletions
|
|
@ -1,10 +1,12 @@
|
||||||
import logging
|
import logging
|
||||||
from collections import deque
|
from collections import deque
|
||||||
from multiprocessing import Process, Lock
|
from multiprocessing import Process, Lock
|
||||||
|
from pathlib import Path
|
||||||
from typing import Annotated
|
from typing import Annotated
|
||||||
|
|
||||||
from injectable import injectable, Autowired, autowired
|
from injectable import injectable, Autowired, autowired
|
||||||
|
|
||||||
|
from app.config import get_settings
|
||||||
from app.model.webhook import WoodpeckerEvent
|
from app.model.webhook import WoodpeckerEvent
|
||||||
from app.services import Passwords, GitService, DockerService
|
from app.services import Passwords, GitService, DockerService
|
||||||
|
|
||||||
|
|
@ -12,10 +14,12 @@ logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class WoodpeckerRunner(Process):
|
class WoodpeckerRunner(Process):
|
||||||
def __init__(self, git: GitService, docker: DockerService, success_callback=None, error_callback=None):
|
def __init__(self, git: GitService, docker: DockerService, passwords: Passwords,
|
||||||
|
success_callback=None, error_callback=None):
|
||||||
super().__init__(daemon=True)
|
super().__init__(daemon=True)
|
||||||
self._git = git
|
self._git = git
|
||||||
self._docker = docker
|
self._docker = docker
|
||||||
|
self._passwords = passwords
|
||||||
self._success_callback = success_callback
|
self._success_callback = success_callback
|
||||||
self._error_callback = error_callback
|
self._error_callback = error_callback
|
||||||
self._event: WoodpeckerEvent | None = None
|
self._event: WoodpeckerEvent | None = None
|
||||||
|
|
@ -30,14 +34,12 @@ class WoodpeckerRunner(Process):
|
||||||
if service is None:
|
if service is None:
|
||||||
logger.info("No service found.")
|
logger.info("No service found.")
|
||||||
return self._success_callback()
|
return self._success_callback()
|
||||||
|
service_path = f"{get_settings().git.path}/compose/{service}/docker-compose.yml"
|
||||||
self._git.checkout(self._event.commit)
|
self._git.checkout(self._event.commit)
|
||||||
"""
|
for file in self._event.files:
|
||||||
TODO:
|
if file.__contains__('.mo.'):
|
||||||
check for *.mo.* files
|
pass
|
||||||
subs mo from pass
|
self._docker.reload(Path(service_path))
|
||||||
docker compose up -d -f service/docker-compose.yml
|
|
||||||
"""
|
|
||||||
|
|
||||||
return self._success_callback()
|
return self._success_callback()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import logging
|
import logging
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
import docker
|
import docker
|
||||||
from docker.models.containers import Container
|
from docker.models.containers import Container
|
||||||
|
|
@ -33,3 +34,6 @@ class DockerService:
|
||||||
@property
|
@property
|
||||||
def tree(self) -> Tree:
|
def tree(self) -> Tree:
|
||||||
return self._tree
|
return self._tree
|
||||||
|
|
||||||
|
def reload(self, compose_path: Path):
|
||||||
|
pass
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue