Mac OS X’te geliştirme ortamınızı ayarlama

Mac OS X kullanarak Linux kümelerinde çalışacak Service Fabric uygulamaları derleyebilirsiniz. Bu belgede Mac’inizi geliştirme için nasıl ayarlayacağınız ele alınmaktadır.

Önkoşullar

Service Fabric, OS X üzerinde yerel olarak çalışmaz. Yerel bir Service Fabric kümesini çalıştırmak için önceden yapılandırılmış bir Docker kapsayıcı görüntüsü sağlanır. Başlamadan önce şulere ihtiyacınız olacak:

İpucu

Docker’ı Mac bilgisayarınıza yüklemek için Docker belgelerinde gösterilen adımları izleyebilirsiniz. Yükleme sonrasında Docker Desktop'ı kullanarak kaynak sınırları ve disk kullanımı gibi tercihleri değiştirebilirsiniz.

Yerel bir kapsayıcı oluşturma ve Service Fabric’i ayarlama

Yerel bir Docker kapsayıcısı ayarlamak ve üzerinde bir Service Fabric kümesi çalıştırmak için şu adımları uygulayın:

  1. Ana bilgisayarınızda Docker daemon yapılandırmasını şu ayarlarla güncelleştirin ve Docker daemon programını yeniden başlatın:

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

    Bu ayarları doğrudan Docker yükleme yolunuzdaki daemon.json dosyasında güncelleştirebilirsiniz. Docker'da daemon yapılandırma ayarlarını doğrudan değiştirebilirsiniz. Docker simgesi’ni ve ardından Tercihler > Daemon > Gelişmiş’i seçin.

    Not

    Dosyada dosyanın konumu makineden makineye farklılık göstere daemon.jsDocker'da daemon'ın değiştirilmesi önerilir. Örneğin, ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.

    İpucu

    Büyük uygulamaları test ederken Docker’a ayrılan kaynakların artırılmasını öneririz. Docker Simgesi seçilip ardından çekirdek sayısını ve belleği ayarlamak için Gelişmiş öğesi seçilerek bu yapılabilir.

  2. Kümeyi başlatma.
    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
    

    Ubuntu 16.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:u16
    

    İpucu

    Varsayılan olarak bu, görüntüyü Service Fabric’in en son sürümüyle çeker. Belirli düzeltmeler için lütfen Service Fabric Onebox sayfasını Docker Hub.

  3. İsteğe bağlı: Genişletilmiş Service Fabric oluşturma.

    Yeni bir dizinde, özelleştirilmiş görüntülerinizi Dockerfile oluşturmak için adlı bir dosya oluşturun:

    Not

    Kapsayıcınıza ek programlar veya bağımlılıklar eklemek için yukarıdaki görüntüyü Dockerfile ile uyarabilirsiniz. Örneğin, RUN apt-get install nodejs -y komutu eklendiğinde, konuk yürütülebilir dosyaları olarak nodejs uygulamaları için destek sağlanır.

    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"]
    

    İpucu

    Varsayılan olarak bu, görüntüyü Service Fabric’in en son sürümüyle çeker. Belirli düzeltmeler için lütfen Docker Hub ziyaret edin.

    'den yeniden kullanılabilir görüntülerinizi oluşturmak için, bir terminal açın ve doğrudan Dockerfile cd ve ardından çalıştırmanızı Dockerfile tutana kadar:

    docker build -t mysfcluster .
    

    Not

    Bu işlem biraz zaman alır, ancak yalnızca bir kez gereklidir.

    Artık her ihtiyacınız olduğunda aşağıdakini çalıştırarak Service Fabric bir yerel kopyasını başlatabilirsiniz:

    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
    

    İpucu

    Kapsayıcı örneğiniz için bir ad belirterek, örneğinizin daha okunaklı bir biçimde işlenebilmesini sağlayın.

    Uygulamanız belirli bağlantı noktalarını dinliyorsa, bağlantı noktaları ek -p etiketleri kullanılarak belirtilmelidir. Örneğin, uygulamanız 8080 bağlantı noktasını dinliyorsa, şuradaki -p etiketini ekleyin:

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

  4. Kümenin başlaması biraz zaman alır. Çalıştırılı olduğunda, aşağıdaki komutu kullanarak günlükleri görüntüleyebilirsiniz veya küme durumunu görüntülemek için panoya atlayın: http://localhost:19080

    docker logs sftestcluster
    
  5. Kapsayıcıyı durdurup temizlemek için aşağıdaki komutu kullanın. Ancak, bu kapsayıcıyı bir sonraki adımda kullanacağız.

    docker rm -f sftestcluster
    

Bilinen Sınırlamalar

Mac’e yönelik kapsayıcıdaki yerel küme çalıştırmaya ilişkin bilinen sınırlandırmalar aşağıda verilmiştir:

  • DNS hizmeti çalışmıyor ve şu anda kapsayıcı içinde desteklenmiyor. Sorun #132
  • Kapsayıcı tabanlı uygulamaların çalıştırılması, bir Linux ana bilgisayarında SF çalıştırmayı gerektirir. İç içe kapsayıcı uygulamalar şu anda desteklenmiyor.

Mac'inizde Service Fabric CLI'sını (sfctl) ayarlama

Service Fabric CLI'sını (sfctl) Mac'inize yüklemek için Service Fabric CLI'sı talimatlarını izleyin. CLI kümeler, uygulamalar ve hizmetler de dahil olmak üzere Service Fabric varlıklarıyla etkileşimi destekleyen komutlar içerir.

  1. Uygulamaları dağıtmadan önce kümeye bağlanmak için aşağıdaki komutu çalıştırın.
sfctl cluster select --endpoint http://localhost:19080

Yeoman kullanarak Mac'inizde uygulama oluşturma

Service Fabric, Yeoman şablon oluşturucu kullanarak terminalden Service Fabric uygulaması oluşturmanıza yardımcı olacak yapı iskelesi araçları sağlar. Service Fabric Yeoman şablon oluşturucunun makinenizde çalıştığından emin olmak için şu adımları izleyin:

  1. Node.js ve Düğüm Paketi Yöneticisi (NPM) Mac’inizde yüklü olmalıdır. Yazılım, HomeBrew kullanılarak şurada anlatıldığı gibi yüklenebilir:

    brew install node
    node -v
    npm -v
    
  2. NPM’den makinenize Yeoman şablon oluşturucuyu yükleyin:

    npm install -g yo
    
  3. Başlarken belgelerinde bulunan adımları izleyerek kullanmak istediğiniz Yeoman oluşturucuyu yükleyin. Yeoman kullanarak Service Fabric uygulamaları oluşturmak için şu adımları takip edin:

    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. Oluşturucuları yükledikten sonra, sırasıyla yo azuresfguest ve yo azuresfcontainer komutlarını çalıştırarak konuk yürütülebilir dosyasını veya kapsayıcı hizmetlerini oluşturun.

  5. Mac’inizde bir Service Fabric Java uygulaması derlemek için ana makinede JDK sürüm 1.8 ve Gradle yüklü olmalıdır. Yazılım, HomeBrew kullanılarak şurada anlatıldığı gibi yüklenebilir:

    brew update
    brew cask install java
    brew install gradle
    

    Önemli

    Geçerli sürümleri brew cask install java , JDK 'nin daha yeni bir sürümünü kurabilir. JDK 8 ' i yüklediğinizden emin olun.

Uygulamanızı terminalden Mac’inize dağıtma

Service Fabric uygulamanızı oluşturup derledikten sonra Service Fabric CLI’yi kullanarak uygulamanızı dağıtabilirsiniz:

  1. Mac’inizdeki kapsayıcı örneğinin içinde çalışan Service Fabric kümesine bağlanın:

    sfctl cluster select --endpoint http://localhost:19080
    
  2. Proje dizininize gidip yükleme betiğini çalıştırın:

    cd MyProject
    bash install.sh
    

.NET Core 3,1 geliştirmeyi ayarlama

C# Service Fabric uygulamaları oluşturmayabaşlamak için Mac için .NET Core 3,1 SDK 'sını yükler. .NET Core Service Fabric uygulamaları için paketler NuGet.org üzerinde barındırılır.

Mac’inizde Eclipse için Service Fabric eklentisini yükleme

Azure Service Fabric, Java IDE için Eclipse Neon’a (veya sonrası) yönelik bir eklenti sağlar. Eklenti, Java hizmetleri oluşturma, derleme ve dağıtma işlemlerini basitleştirir. Eclipse içi Service Fabric eklentisinin son sürümünü yüklemek veya son sürümüne güncelleştirmek için şu adımları izleyin. Eclipse için Service Fabric belgelerindeki adımlar da geçerlidir: bir uygulama derleme, uygulamaya bir hizmet ekleme, bir uygulamayı kaldırma ve benzeri.

Son adım ise, ana bilgisayarınızla paylaşılan bir yolu olan kapsayıcı örneği oluşturmak olacaktır. Eklentinin Mac’inizdeki Docker kapsayıcısı ile çalışması için bu tür örnek oluşturma gerekir. Örnek:

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

Öznitelikleri şunlardır:

  • /Users/sayantan/work/workspaces/mySFWorkspace, Mac’inizdeki çalışma alanının tam yolu.
  • /tmp/mySFWorkspace, çalışma alanının eşlenmesi gereken kapsayıcının içindeki yol.

Not

Çalışma alanınız için farklı bir adınız/yolunuz varsa, bu değerleri docker run komutunda güncelleştirin.

Kapsayıcıyı sfonebox dışında bir adla başlatırsanız, Service Fabric aktör Java uygulamanızdaki testclient.sh dosyasında ad değerini güncelleştirin.

Sonraki adımlar