إعداد بيئة التطوير على نظام التشغيل macOS X

يمكنك إنشاء تطبيقات Azure Service Fabric للعمل على أنظمة مجموعات Linux باستخدام نظام التشغيل macOS X. يعرض هذا المستند كيفية إعداد نظام Mac للتطوير.

المتطلبات الأساسية

لا يعمل Azure Service Fabric في الأصل على نظام التشغيل macOS X. لتشغيل نظام مجموعة "تصميم الخدمة" محليًا، تُتاح صورة حاوية Docker مُكونة مسبقًا. قبل البدء، ستحتاج إلى:

تلميح

لتثبيت Docker على نظام Mac، اتبع الخطوات الواردة في وثائق Docker. بعد التثبيت، يمكنك استخدام Docker Desktop لتعيين التفضيلات بما في ذلك حدود الموارد واستخدام القرص.

إنشاء حاوية محلية وإعداد Service Fabric

لإعداد حاوية Docker محلية وتشغيل مجموعة Service Fabric عليها، قم بتنفيذ الخطوات التالية:

  1. قم بتحديث تكوين برنامج Docker الخفي على مضيفك باستخدام الإعدادات التالية وأعد تشغيل برنامج Docker الخفي:

    {
        "ipv6": true,
        "fixed-cidr-v6": "fd00::/64"
    }
    

    يمكنك تحديث هذه الإعدادات مباشرةً في ملف daemon.json في مسار تثبيت Docker. يمكنك تعديل إعدادات تكوين البرنامج الخفي مباشرةً في Docker. حدد رمز Docker، ثم حدد Preferences>Daemon>Advanced.

    ملاحظة

    يوصى بتعديل البرنامج الخفي مباشرةً في Docker لأن موقع ملف daemon.json يمكن أن يختلف من جهاز إلى آخر. على سبيل المثال، ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.

    تلميح

    نوصي بزيادة الموارد المخصصة لمنصة Docker عند اختبار التطبيقات الكبيرة. يمكن القيام بذلك عن طريق تحديد رمز Docker، ثم تحديد Advanced لضبط عدد الذاكرات الأساسية والذاكرة.

  2. بدء تشغيل نظام المجموعة.

    احدث:

    docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:latest
    

    Ubuntu 18.04 LTS:

    docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:u18
    

    تلميح

    سيؤدي هذا إلى سحب الصورة بأحدث إصدار من Service Fabric بشكل افتراضي. للحصول على مراجعات معينة، الرجاء زيارة صفحة Service Fabric Onebox على Docker Hub.

  3. اختياري: أنشئ صورة Service Fabric الموسعة.

    قم بإنشاء ملف باسم Dockerfile في دليل جديد لإنشاء صورتك المخصصة:

    ملاحظة

    يمكنك تكييف الصورة أعلاه باستخدام Dockerfile لإضافة برامج أو تبعيات إضافية في الحاوية الخاصة بك. على سبيل المثال، ستسمح إضافة RUN apt-get install nodejs -y بدعم تطبيقات nodejs كملفات ضيف تنفيذية.

    FROM mcr.microsoft.com/service-fabric/onebox:u18
    RUN apt-get install nodejs -y
    EXPOSE 19080 19000 80 443
    WORKDIR /home/ClusterDeployer
    CMD ["./ClusterDeployer.sh"]
    

    تلميح

    سيؤدي هذا إلى سحب الصورة بأحدث إصدار من Service Fabric بشكل افتراضي. للحصول على مراجعات معينة، الرجاء زيارة صفحة Docker Hub.

    لإنشاء صورتك القابلة لإعادة الاستخدام من Dockerfile، افتح محطة طرفية وإلى cd الدليل الذي يحمل ثم Dockerfile شغل:

    docker build -t mysfcluster .
    

    ملاحظة

    ستستغرق هذه العملية بعض الوقت ولكنها تكون مطلوبة مرة واحدة فقط.

    يمكنك الآن بدء تشغيل نسخة محلية من Service Fabric بسرعة متى احتجت إليها عن طريق تشغيل:

    docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mysfcluster
    

    تلميح

    قم بكتابة اسم لمثيل الحاوية الخاصة بك حتى يمكن التعامل معها بطريقة أكثر قابلية للقراءة.

    إذا كان تطبيقك يستمع من منافذ معينة، فيجب تحديد المنافذ باستخدام علامات -p إضافية. على سبيل المثال، إذا كان تطبيقك يستمع عبر المنفذ 8080، فأضف علامة -p التالية:

    docker run -itd -p 19000:19000 -p 19080:19080 -p 8080:8080 --name sfonebox mcr.microsoft.com/service-fabric/onebox:u18

  4. سيستغرق نظام المجموعة لحظة للبدء. عند تشغيلها، يمكنك عرض السجلات باستخدام الأمر التالي أو الانتقال إلى لوحة المعلومات لعرض حالة المجموعات: http://localhost:19080

    docker logs sftestcluster
    
  5. لإيقاف تشغيل الحاوية وتنظيفها، استخدم الأمر التالي. ومع ذلك، سنستخدم هذه الحاوية في الخطوة التالية.

    docker rm -f sftestcluster
    

القيود المعروفة

فيما يلي القيود المعروفة لنظام المجموعة المحلية التي تعمل في حاوية لأجهزة Mac:

  • لا تعمل خدمة DNS ولا يتم دعمها حالياً داخل الحاوية. مشكلة #132
  • يتطلب تشغيل التطبيقات المستندة إلى الحاوية تشغيل SF على مضيف Linux. تطبيقات الحاوية المتداخلة غير مدعومة حالياً.

قم بإعداد Service Fabric CLI (sfctl) على جهاز Mac الخاص بك

اتبع الإرشادات الموجودة في Service Fabric CLI لتثبيت Service Fabric CLI (sfctl) على جهاز Mac الخاص بك. تعمل أوامر CLI على دعم التفاعل مع كيانات Service Fabric، بما في ذلك أنظمة المجموعات والتطبيقات والخدمات.

  1. للاتصال بنظام المجموعة قبل نشر التطبيقات، قم بتشغيل الأمر أدناه.
sfctl cluster select --endpoint http://localhost:19080

قم بإنشاء التطبيق الخاص بك على جهاز Mac الخاص بك باستخدام Yeoman

توفر Service Fabric أدوات التدعيم التي تساعدك على إنشاء تطبيق Service Fabric من الجهاز باستخدام منشئ قالب Yeoman. استخدم الخطوات التالية للتأكد من أن منشئ قالب Service Fabric Yeoman يعمل على جهازك:

  1. يجب تثبيت Node.js و"مدير حزمة العقدة" على جهاز Mac. يمكن تثبيت البرنامج باستخدام HomeBrew على النحو التالي:

    brew install node
    node -v
    npm -v
    
  2. تثبيت مُنشئ قالب Yeoman على جهازك من "مدير حزمة العقدة":

    npm install -g yo
    
  3. ثبّت منشئ Yeoman الذي تفضله باتباع الخطوات الواردة في وثائق البدء. لإنشاء تطبيقات Service Fabric باستخدام Yeoman، اتبع الخطوات التالية:

    npm install -g generator-azuresfjava       # for Service Fabric Java Applications
    npm install -g generator-azuresfguest      # for Service Fabric Guest executables
    npm install -g generator-azuresfcontainer  # for Service Fabric Container Applications
    
  4. بعد تثبيت المُنشئات، قم بإنشاء ملف تنفيذي أو خدمات حاوية عن طريق تشغيل yo azuresfguest أو yo azuresfcontainer، على التوالي.

  5. لإنشاء تطبيق Service Fabric Java على جهاز Mac، يجب تثبيت JDK الإصدار 1.8 وGradle على الجهاز المضيف. يمكن تثبيت البرنامج باستخدام HomeBrew على النحو التالي:

    brew update
    brew cask install java
    brew install gradle
    

    هام

    قد تقوم الإصدارات الحالية من brew cask install java بتثبيت إصدار أحدث من JDK. تأكد من تثبيت JDK 8.

انشر التطبيق الخاص بم على جهاز Mac لديك من الوحدة الطرفية

بعد إنشاء تطبيق Service Fabric وتحديث إصداره، يمكنك نشر التطبيق باستخدام Service Fabric CLI:

  1. قم بالاتصال بنظام مجموعة Service Fabric التي تعمل داخل مثيل الحاوية على جهاز Mac الخاص بك:

    sfctl cluster select --endpoint http://localhost:19080
    
  2. من داخل دليل المشروع الخاص بك، قم بتشغيل البرنامج النصي للتثبيت:

    cd MyProject
    bash install.sh
    

إعداد تطوير .NET Core 3.1

ثبّت .NET Core 3.1 SDK for Mac لبدء إنشاء تطبيقات C# Service Fabric. تكون حزم تطبيقات .NET Core Service Fabric مستضافة على NuGet.org.

قم بتثبيت مكون Service Fabric الإضافي لـ Eclipse على جهاز Mac الخاص بك

يوفر Azure Service Fabric مكوناً إضافياً لـ Eclipse Neon، (أو إصدار أحدث) لـ Java IDE. يبسط المكون الإضافي عملية إنشاء خدمات Java وإنشائها ونشرها. لتثبيت أو تحديث مكون Service Fabric الإضافي لـ Eclipse إلى أحدث إصدار، اتبع هذه الخطوات. يمكن أيضاً تطبيق الخطوات الأخرى الواردة في Service Fabric لوثائق Eclipse : إنشاء تطبيق وإضافة خدمة إلى أحد التطبيقات وإلغاء تثبيت أحد التطبيقات وما إلى ذلك.

الخطوة الأخيرة هي إنشاء مثيل للحاوية بمسار مشترك مع المضيف الخاص بك. يتطلب المكون الإضافي هذا النوع من إنشاء مثيل للعمل مع حاوية Docker على جهاز Mac الخاص بك. على سبيل المثال:

docker run -itd -p 19080:19080 -v /Users/sayantan/work/workspaces/mySFWorkspace:/tmp/mySFWorkspace --name sfonebox mcr.microsoft.com/service-fabric/onebox:latest

يتم تحديد السمات على النحو التالي:

  • /Users/sayantan/work/workspaces/mySFWorkspace هو المسار المؤهل بالكامل لمساحة العمل على جهاز Mac الخاص بك.
  • /tmp/mySFWorkspace هو المسار الموجود داخل الحاوية حيث يجب تعيين مساحة العمل إليه.

ملاحظة

إذا كان لديك اسم/ مسار مختلف لمساحة العمل الخاصة بك، فقم بتحديث هذه القيم في الأمر docker run.

إذا بدأت تشغيل الحاوية باسم مختلف عن sfonebox، فحدِّث قيمة الاسم في ملف testclient.sh في تطبيق Java الخاص بممثل Service Fabric.

الخطوات التالية