Release veroeffentlichen: Ablauf dokumentiert, ADMIN_PATH in der Vorlage
Das Archiv und install.php gehoeren als Anhang an das Git-Release des passenden Tags - genau dort erwartet install.php sie. Ein privates Repository liefert diese Adresse nicht ohne Anmeldung aus; das steht jetzt in docs/UPDATE.md, samt der Alternative ueber --url=. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
b218dc79ff
commit
43c20b14c7
2 files changed
+17
No files matched your search
@@ -9,3 +9,6 @@ DATABASE_URL="sqlite:///%kernel.project_dir%/var/cms.db"
|
|||||||
SITE_ORIGIN=https://example.de
|
SITE_ORIGIN=https://example.de
|
||||||
MEDIA_DIRECTORY="%kernel.project_dir%/var/media"
|
MEDIA_DIRECTORY="%kernel.project_dir%/var/media"
|
||||||
MAILER_DSN=sendmail://default
|
MAILER_DSN=sendmail://default
|
||||||
|
# Die Adresse der Verwaltung. Ohne Eintrag: /admin. Aenderbar mit
|
||||||
|
# `php bin/console cms:admin:path <neu>` - der Befehl schreibt sie nach .env.local.
|
||||||
|
#ADMIN_PATH=admin
|
||||||
@@ -62,6 +62,20 @@ Der teuerste Fall ist ein Update, das durchläuft und erst Tage später als fals
|
|||||||
- Kein `down()`-Rückweg für Migrationen. Der Rückweg ist die Sicherung, und das ist eine Entscheidung, nicht eine Lücke.
|
- Kein `down()`-Rückweg für Migrationen. Der Rückweg ist die Sicherung, und das ist eine Entscheidung, nicht eine Lücke.
|
||||||
- Kein Update ohne Sicherung, auch nicht mit Häkchen „ich weiß, was ich tue“.
|
- Kein Update ohne Sicherung, auch nicht mit Häkchen „ich weiß, was ich tue“.
|
||||||
|
|
||||||
|
## Ein Release veröffentlichen
|
||||||
|
|
||||||
|
`php scripts/build-release.php` baut auf einem Rechner mit Composer das Archiv – Anwendung plus `vendor/` ohne Entwicklungspakete – und schreibt die SHA-256-Summe in eine Kopie von `install.php`. Beides gehört anschließend an das Git-Release des passenden Tags:
|
||||||
|
|
||||||
|
```
|
||||||
|
var/releases/kantsites-<fassung>.zip → Release-Anhang
|
||||||
|
var/releases/kantsites-<fassung>.zip.sha256 → Release-Anhang
|
||||||
|
var/releases/install.php → Release-Anhang
|
||||||
|
```
|
||||||
|
|
||||||
|
`install.php` erwartet das Archiv unter `https://git.kant-it.de/kantarci/KantSites/releases/download/v<fassung>/kantsites-<fassung>.zip`. Genau dort landet es, wenn es als Anhang am Release dieses Tags hängt – eine andere Adresse lässt sich beim Bauen mit `--url=` setzen.
|
||||||
|
|
||||||
|
**Ein privates Repository liefert diese Adresse nicht aus.** Ohne Anmeldung antwortet sie mit 404, und `install.php` kann nichts herunterladen; das ist der Zweck der Prüfsumme, nicht ihr Fehler. Damit die Installation auf einem fremden Hosting funktioniert, müssen Archiv und Installer ohne Anmeldung erreichbar sein – entweder weil das Repository öffentlich ist, oder weil beide Dateien auf einem eigenen Webspace liegen und das Release mit `--url=` darauf gebaut wurde.
|
||||||
|
|
||||||
## Offen, bevor das gebaut wird
|
## Offen, bevor das gebaut wird
|
||||||
|
|
||||||
1. ~~**Composer auf dem Server oder `vendor/` im Tag?**~~ Entschieden: `vendor/` gehört nicht ins Repository, sondern in ein Releasearchiv, das ein Build-Rechner erzeugt (`scripts/build-release.php`, SHA-256 daneben). Der Updater über Git bleibt für Installationen mit Composer und für Updates ohne Abhängigkeitsänderung.
|
1. ~~**Composer auf dem Server oder `vendor/` im Tag?**~~ Entschieden: `vendor/` gehört nicht ins Repository, sondern in ein Releasearchiv, das ein Build-Rechner erzeugt (`scripts/build-release.php`, SHA-256 daneben). Der Updater über Git bleibt für Installationen mit Composer und für Updates ohne Abhängigkeitsänderung.
|
||||||
|
|||||||
Reference in new issue
Block a user