feat: Refactor MainController and related tasks to follow Porto architecture

- Moved logic from MainController to dedicated action and task classes.
- Introduced GetMainPageDataAction, GetEducationsDataTask, GetRecentPostsTask, GetUpcomingEventsTask, and GetPageDataTask for better separation of concerns.
- Updated routes to use the new MainController from the Main container.
- Deprecated the old MainController with a clear message for future removal.
- Updated caching mechanisms to use the new task classes.
- Adjusted environment variable access to use config() instead of env() for better practice.
- Added new MainPageResource for structured data response.
- Updated .gitignore to exclude QWEN.md.
- Added Jenkins service to docker-compose for CI/CD integration.
This commit is contained in:
F4ilji
2025-12-16 12:20:01 +05:00
parent f631d12359
commit 2d101dcdda
25 changed files with 307 additions and 279 deletions
+24
View File
@@ -0,0 +1,24 @@
# _docker/jenkins/Dockerfile
FROM jenkins/jenkins:lts-jdk17
# Переключаемся на пользователя root для установки пакетов
USER root
# Устанавливаем Docker CLI и другие утилиты
RUN apt-get update && apt-get install -y --no-install-recommends lsb-release curl && \
curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc https://download.docker.com/linux/debian/gpg && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.asc] https://download.docker.com/linux/debian $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list && \
apt-get update && \
apt-get install -y --no-install-recommends docker-ce-cli && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Устанавливаем Docker Compose v2 (как плагин)
RUN mkdir -p /usr/local/lib/docker/cli-plugins && \
curl -SL "https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-$(uname -m)" -o /usr/local/lib/docker/cli-plugins/docker-compose && \
chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
# Возвращаемся к пользователю jenkins
USER jenkins