Пређи на садржај

Објављивање

Напредни

Претвори тестиран build у верзију. Ова страница је за одржаваоце.

Пре него што почнеш

Линк до Пре него што почнеш
  • Свака провера из Тестирање пролази, укључујући цело end-to-end покретање и дуга покретања и покретања са падовима.
  • CHANGELOG.md има нову верзију.
  • Python 3 је инсталиран за скрипте за објављивање.

Припреми верзију

Линк до Припреми верзију
  1. Напиши releases/notes-<version>.toml, на пример releases/notes-1.0.0.toml. Погледај Фајл са белешкама уз верзију.

  2. Провери га:

    Terminal window
    python deploy/release/notes.py 1.0.0 --check

    Не би требало да видиш грешке. Забрањена реч, дугачка цртица, датум, говор о лансирању или поновљен highlight завршавају са 1.

  3. Направи текстове верзије:

    Terminal window
    python deploy/release/notes.py 1.0.0

    Требало би да нађеш 7 фајлова у releases/out/1.0.0/.

  4. Изгради image и покрени га на свежем конфигурационом фолдеру:

    Terminal window
    docker build --file deploy/Dockerfile .

    Требало би да видиш чаробњак за прво покретање.

  5. Покрени сваку проверу из Тестирање на свом рачунару. Тестови се покрећу локално, не на GitHub-у.

  6. Предај верзију одржаваоцу. Одржавалац поставља таг верзије на main, и то покреће објављивање.

Имена верзије и тага

Линк до Имена верзије и тага
Ствар Име
Git таг (поставља одржавалац) 1.0.0 (обични бројеви, без v)
Таг image-а и version у белешкама 1.0.0

Workflow се покреће само за X.Y.Z таг и зауставља се када се таг разликује од фајла VERSION.

Свака верзија шаље свој таг верзије и :latest.

  1. Објави следећу верзију са исправком.
  2. Означи лошу верзију у листи ажурирања да је инсталације не нуде.
  3. Задржи таг.

Симптом. notes.py --check завршава са 1. Узрок. Фајл са белешкама крши неко правило. Порука наводи ред. Решење. Измени фајл са белешкама, никада фајлове у releases/out, и покрени поново.

Симптом. Workflow стаје са VERSION says. Узрок. Таг и фајл VERSION се разликују. Решење. Исправи VERSION на main и постави таг следеће верзије.

Фајл са белешкама уз верзију

Сваки текст верзије долази из једног фајла. Никада ручно не мењај оно што он гради.

Поље Садржај
version Обичан X.Y.Z
theme Један ред
images Листа {registry, name}. Само Docker Hub holyarrs/holyarrs
docs_url Опционо. Празно значи да нема Docs линка
[[highlights]] Тачно 3, сваки са line, issues и shot. Њихови issue-и се не појављују ни у једном реду групе
[groups] Редови по месту. New је подразумевано. Остали почињу са Changed: , Fixed: или Docs: . Сваки се завршава својим issue-ом, на пример (#46). Место са мање од 3 реда иде под Also new
Опционо [before_you_update] (breaking, manual_steps, backup, rollback), security, known_issues, credits, [stats]. Празни делови се крију

GitHub пријаву користи само када је позната, у фајлу са белешкама или у releases/credits-map.json.

Редослед текста: theme, Highlights, места (Requests, Library, Downloads, Indexers, Accounts, Health, Setup, Install), Also new, Security, Known issues, Before you update, Image, Thanks, ред са статистиком.

Излаз у releases/out/<version>/ Користи се за
changelog.md Унос у changelog
github.md Текст GitHub верзије
update-notes.json Белешке које апликација приказује
reddit.txt Reddit објаву
discord-dm.txt, discord-announce.md Discord. Сваки остаје испод 1.000 карактера
roadmap-card.json Roadmap картицу

notes.py прима --file (други фајл са белешкама), --map (другу мапу заслуга), --out (други излазни фолдер) и --date. --check упозорава на дугачке редове и скоро поновљене.

Workflow за image

Workflow HolyArrs - Release се покреће када се постави таг верзије. Има три корака:

  1. Изгради и пошаљи image за linux/amd64, linux/arm64 и linux/arm/v7, са тагом верзије и latest.
  2. Ажурирај опис на Docker Hub-у из README.md.
  3. Објави GitHub верзију са одељком CHANGELOG.md за ову верзију.
Листа ажурирања

Апликација чита потписану листу ажурирања. Свака верзија додаје свој унос и потписује га. Кључ за потписивање никада не иде у репо. HolyArrs одбија листу коју не може да провери.

После верзије провери да ли се ознака верзије image-а поклапа са тагом, и први дан пази на нове issue-е:

Terminal window
docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' holyarrs
Unraid тест шаблон

deploy/release/nas-template.py пише Unraid кориснички шаблон за један тачан image. Не преузима, не инсталира и не објављује ништа.

Terminal window
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.xml

Замени <digest> и <pool>.

Флаг Напомене
--image Digest манифеста из registry-ја, не Docker image ID
--config Путања пула. Алат одбија /mnt/user и /mnt/user0
--movies, --tv, --music, --downloads Опционо. Одвојене путање су одвојена монтирања, па увоз копира
--port Подразумевано 6262
--allowed-hosts Опционо, имена хоста раздвојена зарезима
--output XML фајл који се пише

Шаблон поставља PUID=99, PGID=100 и UMASK=022. Дај том налогу дозволу писања на тест медије. Стави фајл у /boot/config/plugins/dockerMan/templates-user/ и изабери га под Docker > Add Container > Template (Docker > додај контејнер > шаблон).

Повезане странице

Линк до Повезане странице

HolyArrs је бесплатан. Ако ти је уштедео време, остави звездицу на GitHub-у, постани спонзор или купи ми кафу.