build: игнорировать copilotDiffState.xml (локальное состояние GitHub Copilot IDE)
- Удален copilotDiffState.xml из git истории - Добавлено правило в .gitignore для игнорирования этого файла - Это локальный служебный файл PyCharm, специфичный для машины разработчика - Не должен попадать в репозиторий и загрязнять git history
This commit is contained in:
58
.gitea/workflows/docker-publish.yaml
Normal file
58
.gitea/workflows/docker-publish.yaml
Normal file
@@ -0,0 +1,58 @@
|
||||
name: Build and Push PetClones-site
|
||||
|
||||
on:
|
||||
push:
|
||||
# Запускать только при создании тега, начинающегося с 'v' (например, v1.0.0)
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
build-and-push:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
|
||||
# Генерируем метаданные (теги) для Docker
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v4
|
||||
with:
|
||||
# Важно: используем gitea.repository
|
||||
images: git.cube2.ru/${{ gitea.repository }}
|
||||
tags: |
|
||||
type=ref,event=tag
|
||||
type=raw,value=latest,enable=${{ gitea.ref_type == 'tag' }}
|
||||
|
||||
# Логин в реестр Gitea
|
||||
- name: Login to Gitea Registry
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
registry: git.cube2.ru
|
||||
# Важно: используем gitea.actor
|
||||
username: ${{ gitea.actor }}
|
||||
password: ${{ secrets.REGISTRY_PASSWORD }}
|
||||
|
||||
# Сборка и отправка образа
|
||||
- name: Build and push image PetClones-site
|
||||
uses: docker/build-push-action@v4
|
||||
with:
|
||||
context: .
|
||||
file: Dockerfile
|
||||
# platforms: linux/amd64
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
# Используем теги, сгенерированные шагом meta (v0.1.0 и latest)
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
# Кэширование для ускорения повторных сборок
|
||||
cache-from: type=gha
|
||||
cache-to: type=gha,mode=max
|
||||
# Увеличиваем тайм-аут на случай медленного интернета
|
||||
timeout: 1800 # 30 минут
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -24,6 +24,9 @@
|
||||
.idea/**/uiDesigner.xml
|
||||
.idea/**/dbnavigator.xml
|
||||
|
||||
# IDE - GitHub Copilot state (local IDE state, not needed in repo)
|
||||
.idea/copilotDiffState.xml
|
||||
|
||||
# Gradle
|
||||
.idea/**/gradle.xml
|
||||
.idea/**/libraries
|
||||
|
||||
27
.idea/copilotDiffState.xml
generated
27
.idea/copilotDiffState.xml
generated
@@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CopilotDiffPersistence">
|
||||
<option name="pendingDiffs">
|
||||
<map>
|
||||
<entry key="$PROJECT_DIR$/docker-compose.prod.yml">
|
||||
<value>
|
||||
<PendingDiffInfo>
|
||||
<option name="filePath" value="$PROJECT_DIR$/docker-compose.prod.yml" />
|
||||
<option name="originalContent" value="# docker-compose.prod.yml для production развертывания проекта rosmorport_tsts # Использование: docker-compose -f docker-compose.prod.yml up -d version: '3.9' services: # Django приложение в production web: # Строим образ из Dockerfile в текущей директории build: context: . dockerfile: Dockerfile # Имя контейнера container_name: rosmorport_web_prod # Переменные окружения для production environment: - DOCKER_ENV=1 - DEBUG=False - ALLOWED_HOSTS=localhost,127.0.0.1,0.0.0.0,web,pet-clones.cocorico.ru - DB_ENGINE=django.db.backends.postgresql - DB_HOST=db - DB_PORT=5432 - DB_NAME=${POSTGRES_DB:-rosmorport_db} - DB_USER=${POSTGRES_USER:-postgres} - DB_PASSWORD=${POSTGRES_PASSWORD:-postgres} - PYTHONUNBUFFERED=1 # Тома для медиа, статики и БД volumes: - public_media:/app/public/media - public_static:/app/public/static - database:/app/database - ./logs:/app/logs # Перенаправляем порты ports: - "8000:8000" # Зависимость от базы данных depends_on: db: condition: service_healthy # Политика перезапуска restart: unless-stopped # Ограничения ресурсов deploy: resources: limits: cpus: '1' memory: 512M reservations: cpus: '0.5' memory: 256M # PostgreSQL база данных для production db: # Используем официальный образ PostgreSQL image: postgres:16-alpine container_name: rosmorport_db_prod # Переменные окружения environment: - POSTGRES_DB=${POSTGRES_DB:-rosmorport_db} - POSTGRES_USER=${POSTGRES_USER:-postgres} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-postgres} # Том для хранения данных БД volumes: - postgres_data:/var/lib/postgresql/data # Портов не открываем - доступ только изнутри контейнеров # ports: # - "5432:5432" # Проверка здоровья сервиса healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-postgres}"] interval: 10s timeout: 5s retries: 5 # Политика перезапуска restart: unless-stopped # Ограничения ресурсов deploy: resources: limits: cpus: '1' memory: 1G reservations: cpus: '0.5' memory: 512M # Nginx для reverse proxy (опционально) # nginx: # image: nginx:alpine # container_name: rosmorport_nginx # volumes: # - ./config/nginx.conf:/etc/nginx/nginx.conf:ro # - django_staticfiles:/app/static:ro # - django_mediafiles:/app/media:ro # ports: # - "80:80" # - "443:443" # depends_on: # - web # restart: unless-stopped # Именованные тома для хранения данных volumes: postgres_data: driver: local public_media: driver: local public_static: driver: local database: driver: local # Сеть для сервисов networks: default: name: rosmorport_network driver: bridge " />
|
||||
<option name="updatedContent" value="# docker-compose.prod.yml для production развертывания проекта rosmorport_tsts # Использование: docker-compose -f docker-compose.prod.yml up -d version: '3.9' services: # Django приложение в production web: # Строим образ из Dockerfile в текущей директории build: context: . dockerfile: Dockerfile # Имя контейнера container_name: rosmorport_web_prod # Переменные окружения для production environment: - DOCKER_ENV=1 - DEBUG=False - ALLOWED_HOSTS=localhost,127.0.0.1,0.0.0.0,web,pet-clones.cocorico.ru - DB_ENGINE=django.db.backends.postgresql - DB_HOST=db - DB_PORT=5432 - DB_NAME=${POSTGRES_DB:-rosmorport_db} - DB_USER=${POSTGRES_USER:-postgres} - DB_PASSWORD=${POSTGRES_PASSWORD:-postgres} - PYTHONUNBUFFERED=1 # Тома для медиа, статики и БД volumes: - public_media:/app/public/media - public_static:/app/public/static - database:/app/database # Перенаправляем порты ports: - "8000:8000" # Зависимость от базы данных depends_on: db: condition: service_healthy # Политика перезапуска restart: unless-stopped # Ограничения ресурсов deploy: resources: limits: cpus: '1' memory: 512M reservations: cpus: '0.5' memory: 256M # PostgreSQL база данных для production db: # Используем официальный образ PostgreSQL image: postgres:16-alpine container_name: rosmorport_db_prod # Переменные окружения environment: - POSTGRES_DB=${POSTGRES_DB:-rosmorport_db} - POSTGRES_USER=${POSTGRES_USER:-postgres} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-postgres} # Том для хранения данных БД volumes: - postgres_data:/var/lib/postgresql/data # Портов не открываем - доступ только изнутри контейнеров # ports: # - "5432:5432" # Проверка здоровья сервиса healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-postgres}"] interval: 10s timeout: 5s retries: 5 # Политика перезапуска restart: unless-stopped # Ограничения ресурсов deploy: resources: limits: cpus: '1' memory: 1G reservations: cpus: '0.5' memory: 512M # Nginx для reverse proxy (опционально) # nginx: # image: nginx:alpine # container_name: rosmorport_nginx # volumes: # - ./config/nginx.conf:/etc/nginx/nginx.conf:ro # - django_staticfiles:/app/static:ro # - django_mediafiles:/app/media:ro # ports: # - "80:80" # - "443:443" # depends_on: # - web # restart: unless-stopped # Именованные тома для хранения данных volumes: postgres_data: driver: local public_media: driver: local public_static: driver: local database: driver: local # Сеть для сервисов networks: default: name: rosmorport_network driver: bridge " />
|
||||
</PendingDiffInfo>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="$PROJECT_DIR$/docker-compose.yml">
|
||||
<value>
|
||||
<PendingDiffInfo>
|
||||
<option name="filePath" value="$PROJECT_DIR$/docker-compose.yml" />
|
||||
<option name="originalContent" value="# docker-compose.yml для локальной разработки проекта rosmorport_tsts version: '3.9' services: # Django приложение web: # Строим образ из Dockerfile в текущей директории build: context: . dockerfile: Dockerfile # Имя контейнера container_name: rosmorport_web # Переменные окружения для разработки environment: - DOCKER_ENV=1 - DEBUG=True - ALLOWED_HOSTS=localhost,127.0.0.1,0.0.0.0,web - DB_ENGINE=django.db.backends.sqlite3 - DB_NAME=/app/db.sqlite3 - PYTHONUNBUFFERED=1 # Монтируем текущую директорию для разработки volumes: - .:/app - ./public/static:/app/public/static - ./public/media:/app/public/media - ./database:/app/database - ./logs:/app/logs # Перенаправляем порты ports: - "8000:8000" # Команда для запуска в режиме разработки command: > sh -c "python rosmorport_tsts/manage.py migrate && python rosmorport_tsts/manage.py collectstatic --noinput && python rosmorport_tsts/manage.py runserver 0.0.0.0:8000" # Зависимости (если будут другие сервисы) # depends_on: # - db # Сохраняем контейнер в запущенном состоянии при ошибках stdin_open: true tty: true # Опционально: PostgreSQL база данных для продакшена # db: # image: postgres:16-alpine # container_name: rosmorport_db # environment: # - POSTGRES_DB=rosmorport_db # - POSTGRES_USER=postgres # - POSTGRES_PASSWORD=postgres # volumes: # - postgres_data:/var/lib/postgresql/data # ports: # - "5432:5432" # healthcheck: # test: ["CMD-SHELL", "pg_isready -U postgres"] # interval: 10s # timeout: 5s # retries: 5 # Именованные тома для хранения данных volumes: django_staticfiles: driver: local django_mediafiles: driver: local # postgres_data: # driver: local # Опционально: сеть для сервисов networks: default: name: rosmorport_network driver: bridge " />
|
||||
<option name="updatedContent" value="# docker-compose.yml для локальной разработки проекта rosmorport_tsts version: '3.9' services: # Django приложение web: # Строим образ из Dockerfile в текущей директории build: context: . dockerfile: Dockerfile # Имя контейнера container_name: rosmorport_web # Переменные окружения для разработки environment: - DOCKER_ENV=1 - DEBUG=True - ALLOWED_HOSTS=localhost,127.0.0.1,0.0.0.0,web - DB_ENGINE=django.db.backends.sqlite3 - DB_NAME=/app/db.sqlite3 - PYTHONUNBUFFERED=1 # Монтируем текущую директорию для разработки volumes: - .:/app - ./public/static:/app/public/static - ./public/media:/app/public/media - ./database:/app/database # Перенаправляем порты ports: - "8000:8000" # Команда для запуска в режиме разработки command: > sh -c "python rosmorport_tsts/manage.py migrate && python rosmorport_tsts/manage.py collectstatic --noinput && python rosmorport_tsts/manage.py runserver 0.0.0.0:8000" # Зависимости (если будут другие сервисы) # depends_on: # - db # Сохраняем контейнер в запущенном состоянии при ошибках stdin_open: true tty: true # Опционально: PostgreSQL база данных для продакшена # db: # image: postgres:16-alpine # container_name: rosmorport_db # environment: # - POSTGRES_DB=rosmorport_db # - POSTGRES_USER=postgres # - POSTGRES_PASSWORD=postgres # volumes: # - postgres_data:/var/lib/postgresql/data # ports: # - "5432:5432" # healthcheck: # test: ["CMD-SHELL", "pg_isready -U postgres"] # interval: 10s # timeout: 5s # retries: 5 # Именованные тома для хранения данных volumes: django_staticfiles: driver: local django_mediafiles: driver: local # postgres_data: # driver: local # Опционально: сеть для сервисов networks: default: name: rosmorport_network driver: bridge " />
|
||||
</PendingDiffInfo>
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
Reference in New Issue
Block a user