From b33997772bf948f91ed7da1f051489fa5eefcd18 Mon Sep 17 00:00:00 2001 From: nihonium Date: Fri, 19 Dec 2025 23:03:03 +0300 Subject: [PATCH 1/2] cicd: slightly refactored python Dockerfiles --- Dockerfiles/Dockerfile_etl | 8 -------- Dockerfiles/Dockerfile_image_storage | 12 +----------- 2 files changed, 1 insertion(+), 19 deletions(-) diff --git a/Dockerfiles/Dockerfile_etl b/Dockerfiles/Dockerfile_etl index c721b51..7ddbfe2 100644 --- a/Dockerfiles/Dockerfile_etl +++ b/Dockerfiles/Dockerfile_etl @@ -1,13 +1,6 @@ FROM python:3.12-slim WORKDIR /app/modules/anime_etl - -# RUN apt-get update && apt-get install -y --no-install-recommends \ -# build-essential \ -# libpq-dev \ -# ca-certificates \ -# && rm -rf /var/lib/apt/lists/* - COPY modules/anime_etl/pyproject.toml modules/anime_etl/uv.lock ./ RUN pip install --no-cache-dir uv \ @@ -17,5 +10,4 @@ COPY modules/anime_etl ./ ENV NYANIMEDB_MEDIA_ROOT=/media -# было: CMD ["python", "-m", "rabbit_worker"] CMD ["uv", "run", "python", "-m", "rabbit_worker"] diff --git a/Dockerfiles/Dockerfile_image_storage b/Dockerfiles/Dockerfile_image_storage index 34d7496..e0f60b5 100644 --- a/Dockerfiles/Dockerfile_image_storage +++ b/Dockerfiles/Dockerfile_image_storage @@ -1,25 +1,15 @@ FROM python:3.12-slim -# каталог внутри контейнера WORKDIR /app/modules/image_storage - -RUN apt-get update && apt-get install -y --no-install-recommends \ - ca-certificates \ - && rm -rf /var/lib/apt/lists/* - -# 1. зависимости через uv COPY modules/image_storage/pyproject.toml modules/image_storage/uv.lock ./ RUN pip install --no-cache-dir uv \ && uv sync --frozen --no-dev -# 2. сам код COPY modules/image_storage ./ -# 3. где будем хранить файлы внутри контейнера ENV NYANIMEDB_MEDIA_ROOT=/media EXPOSE 8000 -# 4. поднимаем FastAPI-приложение (app/main.py → app.main:app) -CMD ["uv", "run", "uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"] +CMD ["uv", "run", "uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"] \ No newline at end of file From 522e7554fedd69837d0c130afdd5b89498ab68ab Mon Sep 17 00:00:00 2001 From: nihonium Date: Fri, 19 Dec 2025 23:40:15 +0300 Subject: [PATCH 2/2] cicd: light pipeline for front branch --- .forgejo/workflows/front.yml | 54 ++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .forgejo/workflows/front.yml diff --git a/.forgejo/workflows/front.yml b/.forgejo/workflows/front.yml new file mode 100644 index 0000000..275464d --- /dev/null +++ b/.forgejo/workflows/front.yml @@ -0,0 +1,54 @@ +name: Build and Deploy (frontend build only) + +on: + push: + branches: + - front + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + # Build frontend + - uses: actions/setup-node@v5 + with: + node-version-file: modules/frontend/package.json + cache: npm + cache-dependency-path: modules/frontend/package-lock.json + + - name: Build frontend + env: + VITE_BACKEND_API_BASE_URL: ${{ vars.BACKEND_API_BASE_URL }} + run: | + cd modules/frontend + npm install + npm run build + tar -czvf nyanimedb-frontend.tar.gz dist/ + + - name: Upload built frontend to artifactory + uses: actions/upload-artifact@v3 + with: + name: nyanimedb-frontend.tar.gz + path: modules/frontend/nyanimedb-frontend.tar.gz + + # Build Docker images + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + registry: ${{ vars.REGISTRY }} + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_TOKEN }} + + - name: Build and push frontend image + uses: docker/build-push-action@v6 + with: + context: . + file: Dockerfiles/Dockerfile_frontend + push: true + tags: meowgit.nekoea.red/nihonium/nyanimedb-frontend:latest \ No newline at end of file