mirror of
https://github.com/frappe/frappe_docker.git
synced 2026-06-17 21:55:09 +00:00
- Makefile: единые команды build/up/update/migrate/assets/backup/shell - scripts/build.sh: сборка образа с apps.json → base64 - scripts/update-apps.sh: проверка последних коммитов приложений через GitHub API - scripts/new-site.sh: создание нового сайта со всеми приложениями - .env.example: шаблон конфигурации с комментариями - DEPLOY.md: документация по развёртыванию и обновлению Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
46 lines
2 KiB
Bash
Executable file
46 lines
2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# ============================================================
|
|
# Обновление версий приложений в apps.json
|
|
# Проверяет последние коммиты каждого приложения
|
|
# Использование: ./scripts/update-apps.sh
|
|
# ============================================================
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
REPO_DIR="$(dirname "$SCRIPT_DIR")"
|
|
APPS_FILE="$REPO_DIR/apps.json"
|
|
|
|
echo "╔══════════════════════════════════════════════╗"
|
|
echo " Проверка обновлений приложений"
|
|
echo "╚══════════════════════════════════════════════╝"
|
|
echo ""
|
|
|
|
python3 -c "
|
|
import json, urllib.request, sys
|
|
|
|
apps = json.load(open('$APPS_FILE'))
|
|
|
|
for app in apps:
|
|
url = app['url']
|
|
branch = app['branch']
|
|
name = url.rstrip('/').split('/')[-1]
|
|
|
|
# GitHub API: последний коммит ветки
|
|
api_url = url.replace('https://github.com/', 'https://api.github.com/repos/') + '/commits/' + branch
|
|
try:
|
|
req = urllib.request.Request(api_url, headers={'User-Agent': 'frappe-update-check'})
|
|
data = json.loads(urllib.request.urlopen(req, timeout=5).read())
|
|
sha = data['sha'][:8]
|
|
date = data['commit']['committer']['date'][:10]
|
|
msg = data['commit']['message'].splitlines()[0][:60]
|
|
print(f' {name:20s} [{branch}] последний коммит: {sha} ({date})')
|
|
print(f' {msg}')
|
|
except Exception as e:
|
|
print(f' {name:20s} [{branch}] ошибка проверки: {e}')
|
|
print()
|
|
"
|
|
|
|
echo ""
|
|
echo "Чтобы обновить образ после изменения apps.json:"
|
|
echo " make build — только пересобрать образ"
|
|
echo " make update — полный цикл (build + migrate + assets)"
|