Проект: Marketplace MVP (mp1)
Последнее обновление: 2025-11-08
| Окружение | URL | Сервер | Назначение |
|---|---|---|---|
| Development | http://localhost:8501 | Локальная машина | Разработка |
| Staging | https://staging.mp1.local | {СЕРВЕР_STAGING} | Тестирование |
| Production | https://mp1.local | {СЕРВЕР_PROD} | Боевой |
# 1. Клонировать репозиторий
git clone {REPO_URL}
cd Marketplace MVP (mp1)
# 2. Создать venv и установить зависимости
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# 3. Настроить .env
cp .env.example .env
# Отредактировать .env
# 4. Инициализировать БД
alembic upgrade head
# 5. Запустить
{КОМАНДА_ЗАПУСКА_DEV}
# Development с Docker Compose
docker-compose -f docker-compose.dev.yml up
# SSH на staging сервер
ssh claude-helper@{STAGING_SERVER}
# Обновить код
cd /path/to/Marketplace MVP (mp1)
git pull origin develop
# Активировать venv
source venv/bin/activate
# Обновить зависимости
pip install -r requirements.txt
# Применить миграции
alembic upgrade head
# Перезапустить сервис
sudo systemctl restart Marketplace MVP (mp1)-staging
# На staging сервере
cd /path/to/Marketplace MVP (mp1)
git pull origin develop
docker-compose -f docker-compose.staging.yml up -d --build
# SSH на production сервер
ssh claude-helper@{PROD_SERVER}
# 1. Создать backup БД
sudo -u postgres pg_dump mp1_db > /backup/db_$(date +%Y%m%d_%H%M%S).sql
# 2. Обновить код
cd /path/to/Marketplace MVP (mp1)
git fetch --tags
git checkout tags/v{VERSION}
# 3. Активировать venv
source venv/bin/activate
# 4. Обновить зависимости
pip install -r requirements.txt
# 5. Применить миграции БД
alembic upgrade head
# 6. Собрать статику (если frontend)
{КОМАНДА_СБОРКИ_FRONTEND}
# 7. Перезапустить сервис (zero-downtime)
sudo systemctl reload Marketplace MVP (mp1)
# или
sudo systemctl restart Marketplace MVP (mp1)
# 8. Проверить статус
sudo systemctl status Marketplace MVP (mp1)
curl https://mp1.local/health
# На production сервере
cd /path/to/Marketplace MVP (mp1)
git fetch --tags
git checkout tags/v{VERSION}
# Backup БД
docker exec {DB_CONTAINER} pg_dump -U claude-helper mp1_db > /backup/db_$(date +%Y%m%d_%H%M%S).sql
# Deploy
docker-compose -f docker-compose.prod.yml pull
docker-compose -f docker-compose.prod.yml up -d --no-deps --build {SERVICE_NAME}
# Проверить
docker-compose -f docker-compose.prod.yml ps
curl https://mp1.local/health
# 1. SSH на сервер
ssh claude-helper@{PROD_SERVER}
# 2. Вернуться к предыдущему тегу
cd /path/to/Marketplace MVP (mp1)
git checkout tags/v{PREVIOUS_VERSION}
# 3. Откатить миграции БД (если нужно)
alembic downgrade {PREVIOUS_MIGRATION_ID}
# 4. Восстановить зависимости
pip install -r requirements.txt
# 5. Перезапустить
sudo systemctl restart Marketplace MVP (mp1)
# 6. Проверить
curl https://mp1.local/health
# Остановить приложение
sudo systemctl stop Marketplace MVP (mp1)
# Восстановить БД
sudo -u postgres psql mp1_db < /backup/db_{TIMESTAMP}.sql
# Запустить приложение
sudo systemctl start Marketplace MVP (mp1)
# Статус сервиса
sudo systemctl status Marketplace MVP (mp1)
# Логи
sudo journalctl -u Marketplace MVP (mp1) -f
# Логи приложения
tail -f /var/log/Marketplace MVP (mp1)/app.log
# Docker логи
docker-compose logs -f {SERVICE_NAME}
# HTTP health endpoint
curl https://mp1.local/health
# Ожидаемый ответ
{"status": "ok", "version": "{VERSION}"}
# БД проверка
curl https://mp1.local/health/db
# Redis проверка
curl https://mp1.local/health/redis
# .github/workflows/deploy.yml
name: Deploy to Production
on:
push:
tags:
- 'v*'
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Deploy to server
run: |
# Деплой скрипт
# .gitlab-ci.yml
deploy:production:
stage: deploy
only:
- tags
script:
- # Деплой команды
НЕ КОММИТИТЬ в git:
- .env файлы
- API ключи
- Пароли БД
- SSH ключи
Хранить:
- В переменных окружения сервера
- В vault (HashiCorp Vault, AWS Secrets Manager)
- В CI/CD secrets
# Пример: установка secrets на сервере
echo "DATABASE_URL=postgresql://..." >> /etc/Marketplace MVP (mp1)/.env
chmod 600 /etc/Marketplace MVP (mp1)/.env
# Проверить логи
sudo journalctl -u Marketplace MVP (mp1) -n 50
# Проверить конфиг
{КОМАНДА_ПРОВЕРКИ_КОНФИГА}
# Проверить порты
sudo netstat -tulpn | grep 8501
# Проверить подключение
psql -h localhost -U {DB_USER} -d mp1_db
# Проверить статус PostgreSQL
sudo systemctl status postgresql
Последнее обновление: 2025-11-08
Автор: {АВТОР}