[{"data":1,"prerenderedAt":116},["ShallowReactive",2],{"seo-verification":3,"marketplace-app-ar-jenkins":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"marketplace-app-ar-jenkins",{"slug":9,"slugs":10,"categorySlugs":11,"name":16,"description":17,"phase":18,"unavailableReason":19,"docsUrl":20,"logo":21,"github":22,"tagline":23,"longDescription":24,"features":25,"useCases":32,"steps":42,"faq":58,"specs":74,"compatibleOs":85,"relatedApps":86,"relatedPosts":109,"category":113},"jenkins",{"fr":9,"en":9,"ar":9,"es":9},{"fr":12,"en":13,"ar":14,"es":15},"developpement","development","التطوير","desarrollo","Jenkins","خادم مفتوح المصدر للتكامل والتسليم المستمرين: مسارات Jenkinsfile، وأكثر من 2000 إضافة، وعمليات بناء تطلقها مستودعات Git الخاصة بك.",2,"awaiting_qa","https:\u002F\u002Fservorbit.com\u002Fblog\u002F%D8%A7%D8%B3%D8%AA%D8%B6%D8%A7%D9%81%D8%A9-jenkins-%D8%B9%D9%84%D9%89-vps-%D8%AE%D8%A7%D8%AF%D9%85-ci-cd","https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Fselfhst\u002Ficons\u002Fsvg\u002Fjenkins.svg","https:\u002F\u002Fgithub.com\u002Fjenkinsci\u002Fjenkins","Jenkins — خادم CI\u002FCD مفتوح المصدر على VPS الخاص بك: مسارات Jenkinsfile وwebhooks من Git وأكثر من 2000 إضافة، دون فوترة بدقائق البناء.","Jenkins هو خادم الأتمتة مفتوح المصدر (رخصة MIT) الأكثر انتشارًا للتكامل والتسليم المستمرين. يجلب الشيفرة من Git، ويشغّل البناء والاختبارات والتحليل، ثم ينشر الحزمة الناتجة أو ينشر التطبيق، عند كل push أو في موعد محدد. تُكتب المسارات في ملف Jenkinsfile يُحفظ مع الشيفرة في المستودع، وتربطه أكثر من 2000 إضافة بـ GitHub وGitLab وGitea وDocker وKubernetes وSonarQube وSlack.\n\nاستضافته على VPS خاص بك تلغي الفوترة بالدقيقة التي تفرضها خدمات CI المستضافة: تعمل مساراتك بقدر ما تحتاج، وتبقى أسرار النشر على خادمك، وتختار بنفسك الوكلاء الذين ينفّذون عمليات البناء. يناسب Jenkins الفريق الذي يريد أتمتة عمليات النشر، كما يناسب الشركة التي يجب أن تحتفظ بشيفرتها وبيانات اعتمادها داخلها.",[26,27,28,29,30,31],"المسارات كشيفرة — ملف Jenkinsfile تصريحي، محفوظ في المستودع، يصف مراحل البناء والاختبار والنشر.","الإطلاق عبر webhook — كل push أو pull request على GitHub أو GitLab أو Gitea يشغّل المسار المناسب.","Multibranch — كل فرع أو pull request يُكتشف في المستودع يحصل تلقائيًا على مساره الخاص.","أكثر من 2000 إضافة — Git وDocker وKubernetes وSonarQube وSlack وإشعارات البريد وتقارير الاختبارات.","وكلاء البناء — تُنفَّذ عمليات البناء على أجهزة مخصّصة متصلة عبر SSH لعزل وحدة التحكم.","بيانات اعتماد مركزية — مفاتيح SSH والرموز وكلمات المرور مخزّنة مشفّرة وتُحقن في المسار دون أن تظهر بنص واضح.",[33,36,39],{"title":34,"body":35},"اختبار كل pull request","عند كل pull request، يبني Jenkins المشروع ويشغّل اختبارات الوحدات والتحليل الساكن، ثم ينشر النتيجة على الـ pull request: لم تعد الشيفرة المعطوبة تصل إلى الفرع الرئيسي.",{"title":37,"body":38},"النشر التلقائي في بيئة الإنتاج","يؤدي الدمج في الفرع الرئيسي إلى بناء صورة Docker ودفعها إلى سجلّك ونشر التطبيق على خوادمك عبر SSH، مع مرحلة موافقة يدوية إن رغبت في ذلك.",{"title":40,"body":41},"أتمتة المهام المجدولة","النسخ الاحتياطية والتقارير الليلية وتجديد الشهادات والمزامنات: تحلّ مهمة مجدولة واحدة محلّ ملفات crontab المتفرقة وتحتفظ بسجل كل تنفيذ.",[43,46,49,52,55],{"title":44,"body":45},"إنشاء الخادم واختيار العنوان","اطلب VPS بنظام Ubuntu 24.04 وذاكرة 2 غيغابايت (4 غيغابايت إذا كانت عمليات البناء تعمل على الخادم نفسه). يتطلب Jenkins نطاقًا: يتشارك الفريق واجهته وترسل إليه مستودعات Git إشعارات webhook، لذا يجب أن يستجيب عبر HTTPS على اسم ثابت. يُفتح على نطاق فرعي من أحد نطاقاتك، أو على النطاق الفرعي المجاني للخادم (jenkins.{dns_slug}‎.servorbit-dns.com) مع HTTPS. لا حاجة لشراء اسم نطاق.",{"title":47,"body":48},"تثبيت Jenkins من المتجر","من مساحة العميل اختر Jenkins وحدّد العنوان ثم انقر «تثبيت». ينشر السكربت Jenkins LTS داخل Docker، ويحفظ بياناته في وحدة تخزين مخصّصة، ويضبط الوكيل العكسي nginx عبر HTTPS.",{"title":50,"body":51},"تسجيل الدخول أول مرة","افتح https:\u002F\u002Fyour-domain: يطلب Jenkins كلمة مرور الإدارة الأولية. انسخها من مساحة العميل (زر «إظهار»)، ثم ثبّت الإضافات المقترحة وأنشئ حساب المدير الخاص بك. كلمة المرور الأولية صالحة لمرة واحدة فقط.",{"title":53,"body":54},"التحقق من عنوان Jenkins","في شاشة «Instance Configuration» من المعالج، اترك عنوان HTTPS الخاص بنطاقك كعنوان Jenkins. هو العنوان الذي يظهر في روابط الإشعارات والذي تستدعيه مستودعاتك لإرسال webhooks.",{"title":56,"body":57},"إنشاء أول مسار","انقر «New Item» واختر «Multibranch Pipeline»، وأدخل عنوان مستودعك وبيانات اعتماده، ثم أضف ملف Jenkinsfile في جذر المستودع. أخيرًا، وجّه webhook المستودع نحو https:\u002F\u002Fyour-domain حتى يطلق كل push عملية بناء.",[59,62,65,68,71],{"q":60,"a":61},"Jenkins أم GitHub Actions: أيّهما أختار؟","GitHub Actions عملي لمستودع مستضاف على GitHub، لكن دقائق البناء تُفوتر بعد تجاوز الحصة وتبقى الأسرار لدى GitHub. يعمل Jenkins على VPS الخاص بك: دون حصة دقائق وأسرار تبقى لديك، ويعمل مع GitHub وGitLab وGitea أو خادم Git داخلي. في المقابل، تتولى أنت صيانته.",{"q":63,"a":64},"هل أحتاج إلى اسم نطاق لـ Jenkins؟","نعم. يستخدم الفريق كله Jenkins ويتلقى إشعارات webhook من مستودعات Git: يجب أن يستجيب عبر HTTPS على اسم ثابت. لا حاجة لشراء نطاق: يأتي كل VPS من ServOrbit بنطاق فرعي مجاني (jenkins.{dns_slug}‎.servorbit-dns.com) مع شهادة HTTPS. ويمكنك أيضًا استخدام نطاق فرعي من أحد نطاقاتك.",{"q":66,"a":67},"أين أجد كلمة مرور الإدارة الأولية؟","تظهر في مساحة العميل، على صفحة التطبيق المثبّت. يكتبها Jenkins عند أول تشغيل في الملف secrets\u002FinitialAdminPassword داخل وحدة تخزين بياناته. تفيد فقط لفتح معالج الإعداد، ثم تنشئ حساب المدير الخاص بك.",{"q":69,"a":70},"هل يمكن لعمليات البناء استخدام Docker؟","ليس على وحدة التحكم التي يثبّتها المتجر: لأسباب أمنية لا يُربط مقبس Docker الخاص بالخادم بها. اربط وكيل بناء عبر SSH (خادم VPS ثانٍ مثلًا) مثبّت عليه Docker، واستهدفه في Jenkinsfile بواسطة label. هذه أيضًا هي الممارسة التي يوصي بها مشروع Jenkins.",{"q":72,"a":73},"كيف أنسخ Jenkins احتياطيًا وأحدّثه؟","كل الإعدادات والمهام والإضافات والسجل موجودة في وحدة التخزين jenkins-home: انسخها احتياطيًا بانتظام. للتحديث، غيّر وسم الصورة في ملف docker-compose.yml الخاص بالتطبيق إلى إصدار LTS الجديد، ثم شغّل docker compose pull وdocker compose up -d.",{"ram":75,"cpu":76,"disk":77,"stack":78,"port":81,"license":82,"version":83,"os":84},"2 غيغابايت على الأقل","2 vCPU","20 غيغابايت",[79,16,80],"Docker","Java 21","8104","MIT","2.580.1 LTS","Ubuntu 24.04",[],[87,94,100],{"name":88,"slug":89,"categorySlug":14,"categoryName":14,"categoryColor":90,"logo":91,"tagline":92,"description":93},"Gitea","gitea","text-warning bg-warning\u002F10","https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Fselfhst\u002Ficons\u002Fsvg\u002Fgitea.svg","منصّة GitHub الخاصة بك على خادم VPS واحد — مستودعات وطلبات دمج وCI\u002FCD وسِجِلّ حزم، دون فوترة لكل مقعد.","منصّة GitHub الخاصة بك، مستضافة ذاتيًا في دقائق. منصّة Git كاملة مع CI\u002FCD (Gitea Actions)، وسِجِلّ حزم، وأذونات للفِرق — دون فوترة قائمة على الاستخدام.",{"name":95,"slug":96,"categorySlug":14,"categoryName":14,"categoryColor":90,"logo":97,"tagline":98,"description":99},"OneDev","onedev",null,"Git وCI\u002FCD وKanban في حاوية واحدة — بدون رسوم لكل مطور ولا خدمة خارجية.","منصة Git متكاملة مع CI\u002FCD مرئي ولوحات Kanban وسجل الحزم في حاوية واحدة، بدون رسوم لكل مطور.",{"name":101,"slug":102,"categorySlug":103,"categoryName":104,"categoryColor":105,"logo":106,"tagline":107,"description":108},"Semaphore UI","semaphore","نشر-التطبيقات-وdevops","نشر التطبيقات وDevOps","text-success bg-success\u002F10","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F58506378","لوحة تحكم ويب لـ Ansible وTerraform — self-hosted بدون CLI، قاعدة SQLite مدمجة.","واجهة ويب مفتوحة المصدر لـ Ansible وTerraform وOpenTofu — شغّل المهام وجدوِلها وتابعها من لوحة تحكم دون سطر أوامر.",[110,111,112],"heberger-gitea","remplacer-github-actions-woodpecker-ci-self-hosted-vps","heberger-onedev-vps",{"key":12,"slug":14,"name":14,"objective":114,"icon":115,"color":90},"بدء مشروع برمجي بسرعة.","dev",1793166280162]