Utgivelse av versjoner
Ekspert
Gjør et testet bygg om til en versjon. Denne siden er for vedlikeholdere.
Før du begynner
Lenke til Før du begynner- Alle sjekkene i Testing går gjennom, også en full ende-til-ende-kjøring og de lange kjøringene og feilkjøringene.
CHANGELOG.mdhar den nye versjonen.- Python 3 er installert for utgivelsesskriptene.
Forbered en versjon
Lenke til Forbered en versjon-
Skriv
releases/notes-<version>.toml, for eksempelreleases/notes-1.0.0.toml. Se Notatfilen for versjonen. -
Sjekk den:
Terminal window python deploy/release/notes.py 1.0.0 --checkDu skal ikke se noen feil. Et forbudt ord, en tankestrek, en dato, lanseringssnakk eller en gjentatt høydepunktsak gir exit 1.
-
Bygg tekstene for versjonen:
Terminal window python deploy/release/notes.py 1.0.0Du skal finne 7 filer i
releases/out/1.0.0/. -
Bygg imaget og start det på en fersk konfigurasjonsmappe:
Terminal window docker build --file deploy/Dockerfile .Du skal se veiviseren ved første oppstart.
-
Kjør alle sjekkene i Testing på maskinen din. Testene kjører lokalt, ikke på GitHub.
-
Gi versjonen videre til vedlikeholderen. Vedlikeholderen pusher versjonstaggen på main, og det starter utgivelsen.
Valg
Lenke til ValgNavn på versjon og tagg
Lenke til Navn på versjon og tagg| Ting | Navn |
|---|---|
| Git-tagg (pushes av vedlikeholderen) | 1.0.0 (vanlige tall, ingen v) |
Image-tagg og version i notatene |
1.0.0 |
Arbeidsflyten starter bare for en X.Y.Z-tagg og stopper når taggen er forskjellig fra filen VERSION.
Image-tagger
Lenke til Image-taggerHver versjon pusher versjonstaggen sin og :latest.
Trekk en versjon tilbake
Lenke til Trekk en versjon tilbake- Push neste versjon med rettelsen.
- Merk den dårlige versjonen i oppdateringslisten, så installasjoner ikke tilbyr den.
- Behold taggen.
Hvis det ikke fungerer
Lenke til Hvis det ikke fungererSymptom. notes.py --check gir exit 1.
Årsak. Notatfilen bryter en regel. Meldingen nevner linjen.
Løsning. Rediger notatfilen, aldri filene i releases/out, og kjør den på nytt.
Symptom. Arbeidsflyten stopper med VERSION says.
Årsak. Taggen og filen VERSION er forskjellige.
Løsning. Rett VERSION på main og push neste versjonstagg.
For viderekomne
Lenke til For viderekomneNotatfilen for versjonen
Hver tekst for versjonen kommer fra én fil. Rediger aldri for hånd det den bygger.
| Felt | Innhold |
|---|---|
version |
Vanlig X.Y.Z |
theme |
Én linje |
images |
Liste med {registry, name}. Bare Docker Hub holyarrs/holyarrs |
docs_url |
Valgfri. Tom betyr ingen lenke til doksene |
[[highlights]] |
Nøyaktig 3, hver med line, issues og shot. Sakene deres står ikke i noen gruppelinje |
[groups] |
Linjer per sted. New er standard. Andre starter med Changed: , Fixed: eller Docs: . Hver slutter med saken sin, for eksempel (#46). Et sted med under 3 linjer havner under Also new |
| Valgfritt | [before_you_update] (breaking, manual_steps, backup, rollback), security, known_issues, credits, [stats]. Tomme deler skjules |
Bruk et GitHub-brukernavn bare når det er kjent, i notatfilen eller i releases/credits-map.json.
Rekkefølgen i teksten: tema, Highlights, steder (Requests, Library, Downloads, Indexers, Accounts, Health, Setup, Install), Also new, Security, Known issues, Before you update, Image, Thanks, statistikklinje.
Utdata i releases/out/<version>/ |
Brukes til |
|---|---|
changelog.md |
Oppføringen i endringsloggen |
github.md |
Teksten til GitHub-versjonen |
update-notes.json |
Notatene appen viser |
reddit.txt |
Reddit-innlegget |
discord-dm.txt, discord-announce.md |
Discord. Hver er under 1000 tegn |
roadmap-card.json |
Veikortet |
notes.py tar --file (en annen notatfil), --map (et annet kredittkart), --out (en annen utdatamappe) og --date. --check advarer om lange linjer og nesten like linjer.
Arbeidsflyten for imaget
Arbeidsflyten HolyArrs - Release starter når en versjonstagg pushes. Den har tre trinn:
- Bygg og push imaget for
linux/amd64,linux/arm64oglinux/arm/v7, med versjonstaggen oglatest. - Oppdater beskrivelsen på Docker Hub fra
README.md. - Publiser GitHub-versjonen med
CHANGELOG.md-delen for denne versjonen.
Oppdateringsliste
Appen leser en signert oppdateringsliste. Hver versjon legger til sin oppføring og signerer den. Signeringsnøkkelen havner aldri i repoet. HolyArrs avviser en liste det ikke kan verifisere.
Etter en versjon, sjekk at versjonsetiketten på imaget stemmer med taggen, og følg med på nye saker den første dagen:
docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' holyarrsUnraid-testmal
deploy/release/nas-template.py skriver en Unraid-brukermal for ett bestemt image. Den henter, installerer og publiserer 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.xmlBytt ut <digest> og <pool>.
| Flagg | Merknader |
|---|---|
--image |
Manifest-digesten fra registeret, ikke en Docker image-ID |
--config |
En pool-sti. Verktøyet avviser /mnt/user og /mnt/user0 |
--movies, --tv, --music, --downloads |
Valgfrie. Egne stier er egne mounts, så importer kopierer |
--port |
Som standard 6262 |
--allowed-hosts |
Valgfri, vertsnavn adskilt med komma |
--output |
XML-filen som skrives |
Malen setter PUID=99, PGID=100 og UMASK=022. Gi den kontoen skrivetilgang til testmediene. Legg filen i /boot/config/plugins/dockerMan/templates-user/ og velg den under Docker > Add Container > Template.
Relatert
Lenke til RelatertHolyArrs er gratis. Hvis det sparte deg tid, kan du gi det en stjerne på GitHub, sponse det eller spandere en kaffe.