Bagikan melalui


Menyiapkan lingkungan pengembangan Anda di macOS X

Anda dapat membuat aplikasi Azure Service Fabric untuk dijalankan di kluster Linux menggunakan macOS X. Dokumen ini membahas cara menyiapkan Mac untuk pengembangan.

Prasyarat

Azure Service Fabric tidak berjalan secara native di macOS X. Untuk menjalankan kluster Service Fabric lokal, gambar kontainer Docker yang telah dikonfigurasi sebelumnya disediakan. Sebelum memulai, Anda memerlukan:

Tip

Untuk menginstal Docker di Mac Anda, ikuti langkah-langkah dalam dokumentasi Docker. Setelah menginstal, Anda dapat menggunakan Docker Desktop untuk mengatur preferensi termasuk batas sumber daya dan pemanfaatan disk.

Membuat kontainer lokal dan menyiapkan Service Fabric

Untuk menyiapkan kontainer Docker lokal dan memiliki kluster Service Fabric yang berjalan di atasnya, lakukan langkah-langkah berikut:

  1. Perbarui konfigurasi daemon Docker di host Anda dengan pengaturan berikut ini dan mulai ulang daemon Docker:

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

    Anda dapat memperbarui pengaturan ini langsung di file daemon.json di jalur penginstalan Docker Anda. Anda dapat langsung mengubah pengaturan konfigurasi daemon di Docker. Pilih ikon Docker, lalu pilih Preferensi>Daemon>Tingkat Lanjut.

    Catatan

    Direkomendasikan untuk mengubah daemon secara langsung di Docker karena lokasi file daemon.json dapat bervariasi dari komputer ke komputer. Misalnya, ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.

    Tip

    Sebaiknya tingkatkan sumber daya yang dialokasikan untuk Docker saat menguji aplikasi besar. Ini dapat dilakukan dengan memilih Ikon Docker, lalu memilih Tingkat Lanjut untuk menyesuaikan jumlah core dan memori.

  2. Mulai kluster.

    Terbaru:

    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
    

    Tip

    Secara default, hal ini akan menarik citra dengan versi terbaru Service Fabric. Untuk revisi tertentu, kunjungi halaman Service Fabric Onebox di Docker Hub.

  3. Opsional: Buat citra Service Fabric yang diperluas.

    Di direktori baru, buat file yang disebut Dockerfile untuk menyusun citra yang disesuaikan:

    Catatan

    Anda dapat menyesuaikan citra di atas dengan Dockerfile untuk menambahkan program atau dependensi tambahan ke dalam kontainer Anda. Misalnya, menambahkan RUN apt-get install nodejs -y akan memungkinkan dukungan untuk aplikasi nodejs sebagai tamu yang dapat dijalankan.

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

    Tip

    Secara default, hal ini akan menarik citra dengan versi terbaru Service Fabric. Untuk revisi khusus, harap kunjungi halaman Docker Hub.

    Untuk membangun gambar yang dapat digunakan kembali dari Dockerfile, buka terminal dan cd ke direktori yang menahan eksekusi Anda Dockerfile kemudian:

    docker build -t mysfcluster .
    

    Catatan

    Operasi ini akan memakan waktu tetapi hanya berlaku satu kali.

    Sekarang Anda dapat dengan cepat memulai salinan lokal Service Fabric kapan pun Anda membutuhkannya dengan menjalankan:

    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
    

    Tip

    Berikan nama untuk instans kontainer Anda sehingga dapat ditangani dengan cara yang lebih mudah dibaca.

    Jika aplikasi Anda mendengarkan port tertentu, port harus ditentukan menggunakan tag -p tambahan. Misalnya, jika aplikasi Anda mendengarkan di port 8080, tambahkan tag -p berikut:

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

  4. Kluster akan memakan waktu sejenak untuk memulai. Saat sedang berjalan, Anda dapat melihat log menggunakan perintah berikut atau melompat ke dasbor untuk melihat kesehatan kluster: http://localhost:19080

    docker logs sftestcluster
    
  5. Untuk menghentikan dan membersihkan kontainer, gunakan perintah berikut. Namun, kami akan menggunakan kontainer ini pada langkah berikutnya.

    docker rm -f sftestcluster
    

Batasan Umum

Berikut ini adalah batasan yang diketahui dari kluster lokal yang berjalan dalam kontainer untuk Mac:

  • Layanan DNS tidak berjalan dan saat ini tidak didukung dalam kontainer. Masalah #132
  • Menjalankan aplikasi berbasis kontainer memerlukan menjalankan SF pada host Linux. Aplikasi kontainer berlapis saat ini tidak didukung.

Menyiapkan Service Fabric CLI (sfctl) di Mac Anda

Ikuti petunjuk di Service Fabric CLI untuk menginstal Service Fabric CLI (sfctl) di Mac Anda. Perintah CLI mendukung berinteraksi dengan entitas Service Fabric, termasuk kluster, aplikasi, dan layanan.

  1. Untuk tersambung ke kluster sebelum menyebarkan aplikasi, jalankan perintah di bawah ini.
sfctl cluster select --endpoint http://localhost:19080

Membuat aplikasi di Mac Anda menggunakan Yeoman

Service Fabric menyediakan alat perancah yang membantu Anda membuat aplikasi Service Fabric dari terminal dengan menggunakan generator templat Yeoman. Gunakan langkah-langkah berikut untuk memastikan bahwa generator templat Service Fabric Yeoman berfungsi pada komputer Anda:

  1. Node.js dan Node Package Manager harus diinstal di Mac Anda. Perangkat lunak dapat diinstal dengan menggunakan HomeBrew, sebagai berikut:

    brew install node
    node -v
    npm -v
    
  2. Instal generator templat Yeoman di mesin Anda dari Node Manajer Paket:

    npm install -g yo
    
  3. Instal generator Yeoman yang Anda inginkan dengan mengikuti langkah-langkah dalam dokumentasi memulai. Untuk membuat aplikasi Service Fabric dengan menggunakan Yeoman, ikuti langkah-langkah berikut:

    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. Setelah Anda menginstal generator, buat layanan kontainer atau executable tamu dengan menjalankan yo azuresfguest atau yo azuresfcontainer.

  5. Untuk membangun aplikasi Service Fabric Java di Mac Anda, JDK versi 1.8 dan Gradle harus diinstal pada komputer host. Perangkat lunak dapat diinstal dengan menggunakan HomeBrew, sebagai berikut:

    brew update
    brew cask install java
    brew install gradle
    

    Penting

    Versi saat ini dari brew cask install java dapat menginstal versi JDK yang lebih baru. Pastikan untuk menginstal JDK 8.

Menyebarkan aplikasi di Mac Anda dari terminal

Setelah membuat dan membangun aplikasi Service Fabric, Anda dapat menyebarkan aplikasi dengan menggunakan Service Fabric CLI:

  1. Sambungkan ke kluster Service Fabric yang berjalan di dalam instans kontainer di Mac Anda:

    sfctl cluster select --endpoint http://localhost:19080
    
  2. Dari dalam direktori proyek Anda, jalankan skrip penginstalan:

    cd MyProject
    bash install.sh
    

Menyiapkan pengembangan .NET Core 3.1

Instal .NET Core 3.1 SDK untuk Mac untuk mulai membuat aplikasi C# Service Fabric. Paket untuk aplikasi .NET Core Service Fabric dihosting di NuGet.org.

Menginstal plug-in Service Fabric untuk Eclipse di Mac Anda

Azure Service Fabric menyediakan plug-in untuk Eclipse Neon (atau yang lebih baru) untuk Java IDE. Plug-in menyederhanakan proses pembuatan, pembangunan, dan penyebaran layanan Java. Untuk menginstal atau memperbarui plug-in Service Fabric untuk Eclipse ke versi terbaru, ikuti langkah-langkah ini. Langkah-langkah lain dalam Service Fabric untuk dokumentasi Eclipse juga dapat diterapkan: membangun aplikasi, menambahkan layanan ke aplikasi, menghapus instalan aplikasi, dan sebagainya.

Langkah terakhir adalah membuat instans kontainer dengan jalur yang dibagikan dengan host Anda. Plug-in memerlukan jenis instansiasi ini untuk bekerja dengan kontainer Docker di Mac Anda. Contohnya:

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

Atribut tersebut didefinisikan sebagai berikut:

  • /Users/sayantan/work/workspaces/mySFWorkspace adalah jalur ruang kerja yang sepenuhnya memenuhi syarat di Mac Anda.
  • /tmp/mySFWorkspace adalah jalur yang ada di dalam kontainer ke tempat ruang kerja harus dipetakan.

Catatan

Jika Anda memiliki nama/jalur berbeda untuk ruang kerja Anda, perbarui nilai-nilai ini di perintah docker run.

Jika Anda memulai kontainer dengan nama selain sfonebox, perbarui nilai nama dalam file testclient.sh di aplikasi Java aktor Service Fabric Anda.

Langkah berikutnya