تثبيت واجهة سطر الأوامر
أمر واحد على Linux أو macOS أو Windows، وبصمة تحقّق لكل تنزيل، وطريقة التحديث والإزالة.
isogrid ملف تنفيذي واحد بلا أي تبعيات. تقدّمه المنصّة بنفسها، فتثبّته من
العنوان نفسه الذي ستسجّل الدخول إليه.
واجهة API الخاصة بـ ISOGrid هي https://api.isogrid.skyvault.pro، ومنها تُنزِّل كل الأوامر أدناه.
تعرض صفحة CLI في الواجهة الأوامر نفسها مع زر للنسخ،
ورابطًا لكل إصدار.
Linux وmacOS
curl -fsSL https://api.isogrid.skyvault.pro/api/v1/cli/install.sh | sh
يتعرّف السكربت على نظامك ومعالجك، وينزّل النسخة المطابقة، ويتحقّق منها مقابل
ملف SHA256SUMS على الخادم، ولا يضعها في مكانها إلا بعد ذلك.
إذا لم تتطابق البصمة فلا يُثبَّت شيء.
يثبّت في /usr/local/bin إن كان بإمكانك الكتابة فيه، وإلا ففي
~/.local/bin. لتختار المكان بنفسك، اضبط ISOGRID_INSTALL_DIR:
curl -fsSL https://api.isogrid.skyvault.pro/api/v1/cli/install.sh | ISOGRID_INSTALL_DIR="$HOME/bin" sh
إذا لم يكن المجلّد ضمن PATH لديك، ينبّهك السكربت إلى ذلك ويطبع السطر الذي
تضيفه إلى ملف إعدادات الطرفية.
يكتب الخادم عنوانه في السكربت الذي يرسله، فلا يحتاج الأمر ذو السطر الواحد إلى
شيء آخر. أمّا إن حفظت السكربت لتشغّله لاحقًا، أو وصلك من مصدر آخر، فاضبط
ISOGRID_API_URL لتحدّد من أين يُنزَّل.
Windows
في PowerShell 5.1 أو 7:
irm https://api.isogrid.skyvault.pro/api/v1/cli/install.ps1 | iex
يثبّت هذا isogrid.exe في %LOCALAPPDATA%\isogrid\bin، ويتحقّق منه عبر
Get-FileHash، ويضيف ذلك المجلّد إلى PATH الخاص بمستخدمك. الطرفيات التي
فُتحت قبل التثبيت لا ترى PATH الجديد؛ افتح طرفية جديدة.
يعمل $env:ISOGRID_INSTALL_DIR و$env:ISOGRID_API_URL كما يعملان على Linux.
ولا تُنشَر لـ Windows إلا نسخ x86 بـ 64 بت.
التنزيل بنفسك
إن كنت تفضّل ألّا تمرّر سكربتًا إلى الصدفة مباشرة، ففي صفحة الـ CLI في وحدة
التحكّم روابط لكل النسخ. ويمكنك أيضًا جلب أي منها مباشرة من
https://api.isogrid.skyvault.pro/api/v1/cli/downloads/<file>:
| الملف | لـ |
|---|---|
isogrid-linux-amd64 |
Linux، x86-64 |
isogrid-linux-arm64 |
Linux، ARM64 |
isogrid-darwin-amd64 |
macOS، Intel |
isogrid-darwin-arm64 |
macOS، Apple silicon |
isogrid-windows-amd64.exe |
Windows، x86-64 |
SHA256SUMS |
بصمات كل النسخ |
manifest.json |
الإصدار، ووقت البناء، والحجم، وبصمة SHA-256 لكل نسخة |
يعيد https://api.isogrid.skyvault.pro/api/v1/cli/downloads (دون اسم ملف) الإصدار وكل
النسخ بصيغة JSON، وهي أسهل طريقة لأتمتة التنزيل في سكربت.
التحقّق من التنزيل
نزّل SHA256SUMS بجانب الملف التنفيذي وتحقّق منه قبل أن تشغّل أي شيء:
curl -fsSLO https://api.isogrid.skyvault.pro/api/v1/cli/downloads/isogrid-linux-amd64
curl -fsSLO https://api.isogrid.skyvault.pro/api/v1/cli/downloads/SHA256SUMS
sha256sum -c --ignore-missing SHA256SUMS
chmod +x isogrid-linux-amd64
sudo mv isogrid-linux-amd64 /usr/local/bin/isogrid
على macOS استخدم shasum -a 256 -c --ignore-missing SHA256SUMS. وعلى Windows:
(Get-FileHash .\isogrid-windows-amd64.exe -Algorithm SHA256).Hash
ثم قارن الناتج بسطر isogrid-windows-amd64.exe في SHA256SUMS.
عدم التطابق يعني: لا تشغّله. نزّله مجدّدًا؛ فإن بقي غير مطابق، أبلغ الدعم بدل أن تلتفّ على المشكلة.
التأكّد من أنه يعمل
isogrid version
isogrid login
يوجّه المثبِّت أي CLI جديد إلى العنوان الذي نُزِّل منه، فلا يحتاج login إلى شيء آخر،
ويُترك أي ملف ~/.isogrid/config.json موجود كما هو. إن ثبّتَّ الملف يدويًا، فسجّل الدخول
مرة واحدة بـ isogrid --api https://api.isogrid.skyvault.pro login: يُحفَظ العنوان، فلا تحتاج
الأوامر اللاحقة إلى --api.
انظر مرجع الأوامر لما يأتي بعد ذلك.
التحديث
isogrid update # download, verify, and replace this executable
isogrid update --check # only say whether a newer build exists
يجلب update النسخة التي تعرضها المنصّة لنظامك، ويتحقّق منها مقابل
manifest.json، ثم يستبدل نفسه. ويخرج --check بالرمز 0 سواء وُجد تحديث أم
لا، فهو آمن في سكربت لا يريد إلا الإبلاغ. أمّا --force فيعيد التثبيت حتى إن
تطابقت الإصدارات.
إذا كان الملف التنفيذي في مكان لا تستطيع الكتابة فيه — /usr/local/bin دون
صلاحيات root، أو مجلّد مدير حزم — فلن يتمكّن update من استبداله. حدّثه بالطريقة
التي ثبّته بها: شغّل المثبّت مجدّدًا، أو نفّذ الخطوات اليدوية أعلاه بـ sudo.
تتقدّم الـ CLI والمنصّة معًا. حين يبدأ أمر ما بالفشل بعد ترقية المنصّة، فإن
isogrid update أول ما تجرّبه.
البناء من المصدر
توجد الـ CLI في مجلّد cli/ من المستودع. لا حاجة إلى أدوات Go على جهازك: كل
هدف يعمل داخل الحاوية golang:1.23-alpine.
make build # ./dist/isogrid for Linux
make test vet # the test suite and go vet
make release # every platform, plus SHA256SUMS, manifest.json, installers and CI templates
make install # copy dist/isogrid to /usr/local/bin
دون make:
docker run --rm -v "$PWD:/src" -w /src golang:1.23-alpine sh scripts/release.sh v1.2.3
ينتج docker build -t isogrid-cli ./cli صورة مصغّرة إن كنت تفضّل تشغيل الـ CLI
داخل حاوية.
الإزالة
سجّل الخروج أولًا مع إبطال بيانات الاعتماد على الخادم، ثم احذف الملف التنفيذي وإعداداته:
isogrid logout --revoke
rm "$(command -v isogrid)"
rm -rf ~/.isogrid
على Windows:
isogrid logout --revoke
Remove-Item "$env:LOCALAPPDATA\isogrid" -Recurse -Force
Remove-Item "$env:USERPROFILE\.isogrid" -Recurse -Force
ثم أزل %LOCALAPPDATA%\isogrid\bin من PATH الخاص بمستخدمك في إعدادات النظام.
حذف الملفات لا يُبطل بيانات الاعتماد. دون --revoke، تبقى أي نسخة منها
أُخذت من الجهاز صالحة حتى تنتهي مدّتها. وإن كان الجهاز قد ضاع أصلًا، فأبطلها من
وحدة التحكّم.
حالات حدّية يحسن معرفتها قبل أن تصادفها
isogrid: command not found مباشرة بعد التثبيت. مجلّد التثبيت ليس ضمن
PATH بعد. أضفه كما اقترح المثبّت، أو افتح طرفية جديدة على Windows.
"no API address" من المثبّت. شغّلت نسخة من السكربت لم تأتِ من المنصّة
مباشرة. اضبط ISOGRID_API_URL وأعد التشغيل.
"cannot write to /usr/local/bin". اضبط ISOGRID_INSTALL_DIR على مجلّد
تملكه، مثل ~/.local/bin.
يرفض macOS فتح ملف تنفيذي نُزِّل يدويًا. الملفات التي ينزّلها المتصفّح
توضع في الحجر. يتجنّب سكربت التثبيت ذلك؛ أمّا للتنزيل اليدوي فشغّل
xattr -d com.apple.quarantine /usr/local/bin/isogrid.