Utgivning
Expert
Gör en testad build till en version. Den här sidan är för underhållare.
Innan du börjar
Länk till Innan du börjar- Varje kontroll i Testning går igenom, inklusive en full end-to-end-körning och de långa körningarna och felkörningarna.
CHANGELOG.mdhar den nya versionen.- Python 3 är installerat för skripten för utgivning.
Förbered en version
Länk till Förbered en version-
Skriv
releases/notes-<version>.toml, till exempelreleases/notes-1.0.0.toml. Se Fil med versionsanteckningar. -
Kontrollera den:
Terminal window python deploy/release/notes.py 1.0.0 --checkDu ska inte se några fel. Ett förbjudet ord, ett långt tankstreck, ett datum, lanseringssnack eller en upprepad höjdpunkt ger exit-kod 1.
-
Bygg texterna för versionen:
Terminal window python deploy/release/notes.py 1.0.0Du ska hitta 7 filer i
releases/out/1.0.0/. -
Bygg imagen och starta den med en ny konfigurationsmapp:
Terminal window docker build --file deploy/Dockerfile .Du ska se guiden vid första start.
-
Kör varje kontroll i Testning på din dator. Testerna körs lokalt, inte på GitHub.
-
Lämna över versionen till underhållaren. Underhållaren pushar versionstaggen på main, och det startar utgivningen.
Namn på versioner och taggar
Länk till Namn på versioner och taggar| Sak | Namn |
|---|---|
| Git-tag (pushas av underhållaren) | 1.0.0 (bara siffror, inget v) |
Image-tag och version i anteckningarna |
1.0.0 |
Arbetsflödet startar bara för en X.Y.Z-tag och stannar när taggen skiljer sig från filen VERSION.
Image-taggar
Länk till Image-taggarVarje version pushar sin versionstag och :latest.
Ta tillbaka en version
Länk till Ta tillbaka en version- Pusha nästa version med rättningen.
- Markera den dåliga versionen i uppdateringslistan så att installationer inte erbjuder den.
- Behåll taggen.
Om det inte fungerar
Länk till Om det inte fungerarSymptom. notes.py --check ger exit-kod 1.
Orsak. Anteckningsfilen bryter mot en regel. Meddelandet nämner raden.
Lösning. Ändra anteckningsfilen, aldrig filerna i releases/out, och kör igen.
Symptom. Arbetsflödet stannar med VERSION says.
Orsak. Taggen och filen VERSION skiljer sig.
Lösning. Rätta VERSION på main och pusha nästa versionstag.
För experter
Länk till För experterFil med versionsanteckningar
Varje text för en version kommer från en enda fil. Redigera aldrig för hand det den bygger.
| Fält | Innehåll |
|---|---|
version |
Bara X.Y.Z |
theme |
En rad |
images |
Lista med {registry, name}. Bara Docker Hub holyarrs/holyarrs |
docs_url |
Valfri. Tom betyder ingen länk till dokumentationen |
[[highlights]] |
Exakt 3, var och en med line, issues och shot. Deras ärenden syns inte i någon grupprad |
[groups] |
Rader per plats. Nytt är standard. Andra börjar med Changed: , Fixed: eller Docs: . Varje rad slutar med sitt ärende, till exempel (#46). En plats med färre än 3 rader hamnar under Också nytt |
| Valfritt | [before_you_update] (breaking, manual_steps, backup, rollback), security, known_issues, credits, [stats]. Tomma delar döljs |
Använd ett GitHub-användarnamn bara när det är känt, i anteckningsfilen eller i releases/credits-map.json.
Ordning i texten: tema, höjdpunkter, platser (Förfrågningar, Bibliotek, Nedladdningar, Källor, Konton, Hälsa, Konfiguration, Installation), Också nytt, Säkerhet, Kända problem, Innan du uppdaterar, Image, Tack, statistikrad.
Utdata i releases/out/<version>/ |
Används till |
|---|---|
changelog.md |
Posten i ändringsloggen |
github.md |
Texten för versionen på GitHub |
update-notes.json |
Anteckningarna som appen visar |
reddit.txt |
Inlägget på Reddit |
discord-dm.txt, discord-announce.md |
Discord. Var och en håller sig under 1 000 tecken |
roadmap-card.json |
Kortet på färdplanen |
notes.py tar --file (en annan anteckningsfil), --map (en annan kreditkarta), --out (en annan utdatamapp) och --date. --check varnar för långa rader och nästan upprepade rader.
Arbetsflödet för imagen
Arbetsflödet HolyArrs - Release startar när en versionstag pushas. Det har tre steg:
- Bygg och pusha imagen för
linux/amd64,linux/arm64ochlinux/arm/v7, med versionstaggen ochlatest. - Uppdatera beskrivningen på Docker Hub från
README.md. - Publicera versionen på GitHub med den här versionens avsnitt i
CHANGELOG.md.
Uppdateringslista
Appen läser en signerad uppdateringslista. Varje version lägger till sin post och signerar den. Signeringsnyckeln hamnar aldrig i repot. HolyArrs vägrar en lista som det inte kan verifiera.
Efter en version kontrollerar du att imagens versionsetikett matchar taggen, och följer nya ärenden under det första dygnet:
docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' holyarrsTestmall för Unraid
deploy/release/nas-template.py skriver en användarmall för Unraid för en exakt image. Den hämtar, installerar och publicerar ingenting.
python deploy/release/nas-template.py --image 'holyarrs/holyarrs@sha256:<digest>' --config '/mnt/<pool>/appdata/holyarrs-test' --movies /mnt/user/holyarrs-test-data/movies --downloads /mnt/user/holyarrs-test-data/downloads --port 6262 --output holyarrs-test.xmlByt ut <digest> och <pool>.
| Flagga | Anmärkningar |
|---|---|
--image |
Registrets manifest-digest, inte ett Docker-image-ID |
--config |
En sökväg i en pool. Verktyget vägrar /mnt/user och /mnt/user0 |
--movies, --tv, --music, --downloads |
Valfria. Separata sökvägar är separata monteringar, så importer kopierar |
--port |
Standard är 6262 |
--allowed-hosts |
Valfri, värdnamn separerade med komma |
--output |
XML-filen som skrivs |
Mallen sätter PUID=99, PGID=100 och UMASK=022. Ge det kontot skrivrättigheter till testmedierna. Lägg filen i /boot/config/plugins/dockerMan/templates-user/ och välj den under Docker > Add Container > Template (lägg till container > mall).
Relaterat
Länk till RelateratHolyArrs är gratis. Om det sparade dig tid kan du ge det en stjärna på GitHub, sponsra det eller bjuda mig på en kaffe.