নতুন ভার্সন বের করা
বিশেষজ্ঞ
টেস্ট করা একটি বিল্ডকে নতুন ভার্সনে পরিণত করুন। এই পেজ মেইনটেইনারদের জন্য।
শুরু করার আগে
শুরু করার আগে-এর লিংক- টেস্টিং-এর প্রতিটি চেক পাস করেছে, সঙ্গে পুরো এন্ড-টু-এন্ড রান এবং লম্বা ও ফল্ট রান।
CHANGELOG.md-তে নতুন ভার্সনটি আছে।- রিলিজ স্ক্রিপ্টের জন্য Python 3 ইনস্টল করা আছে।
নতুন ভার্সন তৈরি করুন
নতুন ভার্সন তৈরি করুন-এর লিংক-
releases/notes-<version>.tomlলিখুন, যেমনreleases/notes-1.0.0.toml। দেখুন রিলিজ নোট ফাইল। -
ফাইলটি চেক করুন:
Terminal window python deploy/release/notes.py 1.0.0 --checkআপনি কোনো ত্রুটি দেখতে পাবেন না। নিষিদ্ধ শব্দ, em dash, তারিখ, লঞ্চের কথা বা একই হাইলাইট দুবার থাকলে এটি 1 কোড দিয়ে বেরিয়ে যায়।
-
রিলিজের লেখাগুলো বানান:
Terminal window python deploy/release/notes.py 1.0.0আপনি
releases/out/1.0.0/-এ 7টি ফাইল পাবেন। -
ইমেজ বিল্ড করুন এবং নতুন কনফিগ ফোল্ডারে চালু করুন:
Terminal window docker build --file deploy/Dockerfile .আপনি প্রথমবার চালু করার উইজার্ড দেখতে পাবেন।
-
নিজের কম্পিউটারে টেস্টিং-এর প্রতিটি চেক চালান। টেস্ট লোকালি চলে, GitHub-এ নয়।
-
ভার্সনটি মেইনটেইনারের হাতে দিন। মেইনটেইনার main-এ ভার্সনের ট্যাগ পুশ করেন, আর তাতেই নতুন ভার্সন শুরু হয়।
বিকল্প
বিকল্প-এর লিংকভার্সন ও ট্যাগের নাম
ভার্সন ও ট্যাগের নাম-এর লিংক| জিনিস | নাম |
|---|---|
| Git ট্যাগ (মেইনটেইনার পুশ করেন) | 1.0.0 (সাধারণ সংখ্যা, v ছাড়া) |
ইমেজ ট্যাগ এবং নোটের version |
1.0.0 |
ওয়ার্কফ্লো শুধু X.Y.Z ট্যাগে শুরু হয় এবং ট্যাগ VERSION ফাইলের সঙ্গে না মিললে থেমে যায়।
ইমেজ ট্যাগ
ইমেজ ট্যাগ-এর লিংকপ্রতিটি নতুন ভার্সন তার ভার্সন ট্যাগ এবং :latest পুশ করে।
একটি ভার্সন ফিরিয়ে নিন
একটি ভার্সন ফিরিয়ে নিন-এর লিংক- ফিক্সসহ পরের ভার্সন পুশ করুন।
- আপডেট তালিকায় খারাপ ভার্সনটি চিহ্নিত করুন, যাতে ইনস্টলে সেটি আপডেট হিসেবে দেখানো না হয়।
- ট্যাগটি রেখে দিন।
কাজ না করলে
কাজ না করলে-এর লিংকলক্ষণ: notes.py --check 1 কোড দিয়ে বেরিয়ে যায়।
কারণ: নোটের ফাইল একটি নিয়ম ভেঙেছে। বার্তায় লাইনটি উল্লেখ করা থাকে।
সমাধান: নোটের ফাইল বদলান, releases/out-এর ফাইল কখনো নয়, এবং আবার চালান।
লক্ষণ: ওয়ার্কফ্লো VERSION says বলে থেমে যায়।
কারণ: ট্যাগ ও VERSION ফাইল মেলে না।
সমাধান: main-এ VERSION ঠিক করুন এবং পরের ভার্সনের ট্যাগ পুশ করুন।
বিশেষজ্ঞদের জন্য
বিশেষজ্ঞদের জন্য-এর লিংকরিলিজ নোট ফাইল
প্রতিটি রিলিজের লেখা একটি ফাইল থেকে আসে। এটি যা বানায় তা কখনো হাতে বদলাবেন না।
| ফিল্ড | বিষয়বস্তু |
|---|---|
version |
সাধারণ X.Y.Z |
theme |
এক লাইন |
images |
{registry, name}-এর তালিকা। শুধু Docker Hub holyarrs/holyarrs |
docs_url |
ঐচ্ছিক। খালি থাকলে কোনো ডক লিংক নেই |
[[highlights]] |
ঠিক 3টি, প্রতিটিতে line, issues ও shot। এগুলোর ইস্যু কোনো গ্রুপ লাইনে আসে না |
[groups] |
প্রতিটি জায়গার লাইন। New হলো ডিফল্ট। বাকিগুলো শুরু হয় Changed: , Fixed: বা Docs: দিয়ে। প্রতিটি শেষ হয় তার ইস্যু দিয়ে, যেমন (#46)। যে জায়গায় 3টির কম লাইন, সেটি Also new-এর নিচে যায় |
| ঐচ্ছিক | [before_you_update] (breaking, manual_steps, backup, rollback), security, known_issues, credits, [stats]। খালি অংশ লুকানো থাকে |
GitHub লগইন শুধু তখনই ব্যবহার করুন যখন সেটি জানা, নোটের ফাইলে বা releases/credits-map.json-এ।
লেখার ক্রম: থিম, Highlights, জায়গাগুলো (Requests, Library, Downloads, Indexers, Accounts, Health, Setup, Install), Also new, Security, Known issues, Before you update, Image, Thanks, পরিসংখ্যানের লাইন।
releases/out/<version>/-এর আউটপুট |
যে কাজে লাগে |
|---|---|
changelog.md |
চেঞ্জলগের এন্ট্রি |
github.md |
GitHub রিলিজের বডি |
update-notes.json |
অ্যাপ যে নোট দেখায় |
reddit.txt |
Reddit পোস্ট |
discord-dm.txt, discord-announce.md |
Discord। প্রতিটি 1,000 অক্ষরের নিচে থাকে |
roadmap-card.json |
রোডম্যাপ কার্ড |
notes.py নেয় --file (অন্য নোট ফাইল), --map (অন্য ক্রেডিট ম্যাপ), --out (অন্য আউটপুট ফোল্ডার) এবং --date। --check লম্বা লাইন ও প্রায় একই লাইন নিয়ে সতর্ক করে।
ইমেজ ওয়ার্কফ্লো
HolyArrs - Release ওয়ার্কফ্লো ভার্সনের ট্যাগ পুশ হলে শুরু হয়। এর তিনটি ধাপ:
linux/amd64,linux/arm64ওlinux/arm/v7-এর জন্য ইমেজ বিল্ড করে ভার্সন ট্যাগ ওlatestদিয়ে পুশ করা।README.mdথেকে Docker Hub-এর বিবরণ আপডেট করা।- এই ভার্সনের
CHANGELOG.mdঅংশ দিয়ে GitHub রিলিজ প্রকাশ করা।
আপডেট তালিকা
অ্যাপ একটি সই করা আপডেট তালিকা পড়ে। প্রতিটি নতুন ভার্সন তার এন্ট্রি যোগ করে এবং সই করে। সইয়ের কী কখনো রিপোতে যায় না। যে তালিকা যাচাই করতে পারে না, HolyArrs সেটি নেয় না।
নতুন ভার্সন বের হওয়ার পর দেখে নিন ইমেজের ভার্সন লেবেল ট্যাগের সঙ্গে মেলে, এবং প্রথম দিন নতুন ইস্যুগুলোর দিকে নজর রাখুন:
docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' holyarrsUnraid টেস্ট টেমপ্লেট
deploy/release/nas-template.py একটি নির্দিষ্ট ইমেজের জন্য Unraid ইউজার টেমপ্লেট লেখে। এটি কিছু পুল, ইনস্টল বা প্রকাশ করে না।
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 |
রেজিস্ট্রি ম্যানিফেস্ট ডাইজেস্ট, Docker ইমেজ 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 (ডকার > কন্টেইনার যোগ > টেমপ্লেট)-এর নিচে সেটি বেছে নিন।
সংশ্লিষ্ট
সংশ্লিষ্ট-এর লিংকHolyArrs বিনামূল্যে। এটি আপনার সময় বাঁচিয়ে থাকলে GitHub-এ স্টার দিন, স্পনসর করুন অথবা এক কাপ কফি কিনে দিন।