نظرة عامة
ProAnima Arkvory مستودع مستضاف ذاتيًا لمُخرَجات (artifacts) البناء والملفات. تثبّته على خادمك الخاص. يخزّن الملفات التي تنتجها عمليات البناء، ويسلّمها إلى من يحتاج إليها من الأشخاص والأنظمة: وكلاء النشر ومسارات CI/CD وأجهزة الاختبار والمطورين.
Arkvory مجاني للجميع، بمن فيهم الشركات. شيفرته المصدرية مفتوحة للقراءة، لكنه ليس مفتوح المصدر. يمكنك استخدامه وتعديله داخل مؤسستك. ولا يجوز توزيع نسخ منه أو بيعه أو تقديمه كخدمة. راجع الترخيص.
لمن هو
- مهندسو CI/CD الذين يحتاجون إلى مكان واحد لنشر نسخ البناء، والعثور على نسخة بناء حسب الإصدار أو المرحلة، وتنزيلها في مهمة النشر.
- المسؤولون الذين يريدون خدمة تخزين تعمل على خادم واحد، وتعيد تشغيل نفسها، وتنشئ نسخها الاحتياطية بنفسها، وتحدّث نفسها.
- استوديوهات الألعاب التي تعمل بـ Unity أو Unreal Engine. يخزّن Arkvory الأصول الثنائية الكبيرة عبر Git LFS، وحزم Unity عبر سجل npm، ومخرجات البناء التي تبلغ عشرات الغيغابايتات.
- الفرق متعددة المواقع التي تريد نسخة للقراءة فقط من مستودع قريبة ممن ينزّلون منه.
ما الذي يخزّنه
يُحفظ كل شيء في مستودعات. ويمكن أن يحتوي المستودع الواحد على عدة أنواع من المحتوى في الوقت نفسه:
| المحتوى | طريقة العمل معه |
|---|---|
| المُخرَجات (أي ملف) | الرفع عبر وحدة التحكم أو عميل سطر الأوامر أو SDK أو HTTP API |
| حزم UPack | حزم ذات إصدارات لها مجموعة واسم وإصدار SemVer. راجع الحزم. |
| ملفات حسب المسار | مسار مثل builds/game/1.4/Setup.exe يحتفظ بكل إصداراته السابقة. راجع الملفات والمسارات والملفات الخام. |
| صور الحاويات | سجل OCI لـ Docker وPodman وHelm وORAS. راجع صور الحاويات. |
| كائنات Git LFS | خادم Git LFS مع قفل الملفات. راجع Git LFS. |
| حزم npm وUnity | سجل npm يمكن لمدير حزم Unity استخدامه. راجع Unity وnpm. |
كل ملف مخزَّن هو مُخرَج (artifact) غير قابل للتغيير، له مجموع اختباري SHA-256. لا يحلّ المحتوى الجديد محل البايتات القديمة، بل ينشئ مُخرَجًا جديدًا. راجع المفاهيم.
القدرات الرئيسية
- الملفات الكبيرة. تُرسل عمليات الرفع على أجزاء ويمكنها المتابعة بعد انقطاع الشبكة أو إعادة التشغيل. ويمكن أن يبلغ حجم الكائن الواحد نحو 10 TiB. ويدعم التنزيل نطاقات HTTP، فيمكنه المتابعة أيضًا.
- التحكم في الوصول. حسابات المستخدمين والمجموعات ورموز الوصول الشخصية وحسابات الخدمة بمفاتيح. يحصل كل مفتاح على إجراءات المستودع التي يحتاج إليها فقط.
- المراحل والترقية. علّم نسخة البناء بـ
qaأوreleaseأوprod، أو انشرها في مستودع آخر دون رفع جديد. ويمكن لوكيل النشر أن يطلب «أحدث نسخة بناء بمرحلةreleaseضمن النطاق^1.4». - بيانات التعريف. التسميات وبيانات التعريف النصية والتجميعات والملفات المرفقة، مثل ملفات البيان (manifest) وSBOM والتواقيع.
- الاحتفاظ. احتفظ بآخر N من نسخ البناء لكل حزمة، وحدّد حصص التخزين، واحذف المحتوى القديم في الخلفية.
- النسخ الاحتياطية. ينسخ وكيل النسخ الاحتياطي قاعدة البيانات وكل المحتوى إلى مخزن النسخ الاحتياطية على قرص آخر أو NAS وفق جدول يومي، ويتحقق من النسخ.
- المرايا. يمكن لتثبيت ثانٍ أن يحتفظ بنسخة للقراءة فقط من مستودع ويخدمها عندما يتعذر الوصول إلى الخادم الرئيسي.
- بوابات القراءة. عمليات تنزيل إضافية على التخزين المشترك نفسه تتقاسم ميزانية تنزيل واحدة.
- الإصلاح الذاتي. تعيد الخدمات تشغيل نفسها بعد التعطل أو التجمّد. ويمكن لعمليات النقل الطويلة أن تتابع بعد إعادة التشغيل.
- التحديثات. يتحقق الخادم من الإصدارات المستقرة الموقَّعة التي تعتمدها ProAnimaStudio في المركز (hub). ويثبّتها يدويًا أو تلقائيًا في ساعة الصيانة، ويمكنه العودة إلى الإصدار السابق.
- وحدة التحكم على الويب. سمتان فاتحة وداكنة، بإحدى عشرة لغة: الإنجليزية والروسية والإسبانية والفرنسية والألمانية والبرتغالية والصينية واليابانية والكورية والهندية والعربية (من اليمين إلى اليسار). وهذا التوثيق متوفر باللغات نفسها. راجع وحدة التحكم على الويب.
كيف يعمل
يعمل Arkvory على خادم واحد. يستخدم PostgreSQL للفهرس ودليلًا محليًا للمحتوى. وتعمل ثلاث خدمات معًا:
| الخدمة | الغرض |
|---|---|
| API | خادم HTTP: واجهة API ووحدة التحكم والسجلات (registries). ويشغّل أيضًا الاحتفاظ والتنظيف الفعلي. |
| العامل (worker) | مهام الخلفية: إنهاء عمليات الرفع الكبيرة ومزامنة المرايا |
| وكيل النسخ الاحتياطي | نسخ احتياطية مجدولة إلى المخزن |
يمكنك التثبيت بثلاث طرق:
| المنصة | برنامج التثبيت | التفاصيل |
|---|---|---|
| Windows 10/11 وWindows Server | Arkvory-Setup-x64.exe | معالج تثبيت. يتضمن Node.js وPostgreSQL ويعمل دون إنترنت. وتعمل الخدمات دون مستخدم مسجّل الدخول. راجع Windows. |
| Linux | Arkvory-amd64.deb وArkvory-x86_64.rpm | حزم لـ apt وdnf، مع خدمات systemd. راجع Linux. |
| Docker | Docker Compose | API والعامل ووكيل النسخ الاحتياطي وPostgreSQL في حاويات. راجع Docker. |
يستمع الخادم افتراضيًا إلى 127.0.0.1:8080 فقط. وقبل أن تتصل أجهزة أخرى، أعدّ HTTPS.
التثبيت الواحد خادم واحد: إذا توقف، ينتظر العملاء حتى يعود. وعلى Linux، يتولى عنقود توافر عالٍ من خادمين أو ثلاثة العمل عند تعطل أحدها. استخدم النسخ الاحتياطية، وعند الحاجة المرايا في موقع ثانٍ.
إلى أين تذهب بعد ذلك
- البدء السريع: ثبّت Arkvory وارفع أول ملف.
- المفاهيم: الكلمات التي يستخدمها بقية التوثيق.
- التثبيت: المتطلبات والخيارات لكل منصة.
- عميل سطر الأوامر: استخدم Arkvory من النصوص البرمجية ومن CI.
- النسخ الاحتياطية: احمِ بياناتك قبل الانتقال إلى الإنتاج.