Dela via


Konfigurera utvecklingsmiljön på macOS X

Du kan skapa Azure Service Fabric-program för att köras på Linux-kluster med hjälp av macOS X. Det här dokumentet beskriver hur du konfigurerar din Mac för utveckling.

Förutsättningar

Azure Service Fabric körs inte internt på macOS X. För att köra ett lokalt Service Fabric-kluster tillhandahålls en förkonfigurerad Docker-containeravbildning. Innan du kommer igång behöver du:

Dricks

Följ anvisningarna i Docker-dokumentationen när du ska installera Docker på din Mac. Efter installationen kan du använda Docker Desktop för att ange inställningar, inklusive resursbegränsningar och diskanvändning.

Skapa en lokal container och konfigurera Service Fabric

Utför följande steg för att konfigurera en lokal Docker-container och köra ett Service Fabric-kluster på den:

  1. Uppdatera konfigurationen av Docker-daemon på värden med följande inställningar och starta om Docker-daemon:

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

    Du kan uppdatera inställningarna direkt i filen daemon.json som finns på Docker-installationssökvägen. Du kan ändra konfigurationsinställningarna för daemon direkt i Docker. Välj Docker-ikonen och sedan Inställningar>Daemon>Avancerat.

    Kommentar

    Du rekommenderar att du ändrar daemonen direkt i Docker eftersom platsen för daemon.json-filen kan variera från dator till dator. Den kan till exempel vara ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.

    Dricks

    Vi rekommenderar att öka du ökar de resurser som Docker tilldelas vid testning av stora program. Detta kan du göra genom att först välja Docker-ikonen och sedan välja Avancerat för att justera antalet kärnor och minne.

  2. Starta klustret.

    Senaste:

    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
    

    Dricks

    Som standard hämtas avbildningen med den senaste Service Fabric-versionen. Särskilda revisioner finns på sidan Service Fabric Onebox på Docker Hub.

  3. Valfritt: Skapa din utökade Service Fabric-avbildning.

    I en ny katalog skapar du en fil med namnet Dockerfile för att skapa din anpassade avbildning:

    Kommentar

    Du kan anpassa avbildningen ovan med en Dockerfile för att lägga till ytterligare program eller beroenden i containern. Om du t.ex. lägger till RUN apt-get install nodejs -y tillåter du stöd för nodejs-program som körbara gästfiler.

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

    Dricks

    Som standard hämtas avbildningen med den senaste Service Fabric-versionen. Läs mer om vissa revideringar på sidan Docker-hubb.

    Om du vill skapa en återanvändbar avbildning från Dockerfileöppnar du en terminal och cd till katalogen där du Dockerfile kör:

    docker build -t mysfcluster .
    

    Kommentar

    Den här åtgärden kan ta lite tid, men det behöver bara göras en gång.

    Nu kan du snabbt starta en lokal kopia av Service Fabric när du behöver den genom att köra:

    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
    

    Dricks

    Ange ett namn för din containerinstans så att du kan hantera den enklare.

    Om programmet lyssnar på vissa portar måste du ange portarna med hjälp av ytterligare -p-taggar. Om programmet till exempel lyssnar på port 8080 lägger du till följande -p-tagg:

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

  4. Det tar en stund att starta klustret. När den körs kan du visa loggar med hjälp av följande kommando eller gå till instrumentpanelen för att visa klustrets hälsa: http://localhost:19080

    docker logs sftestcluster
    
  5. Om du vill stoppa och rensa containern använder du följande kommando. Vi kommer dock att använda den här containern i nästa steg.

    docker rm -f sftestcluster
    

Kända begränsningar

Följande begränsningar är kända begränsningar i lokala kluster som körs i en container för Mac:

  • DNS-tjänsten körs inte och stöds för närvarande inte i containern. Problem #132
  • Om du kör containerbaserade appar måste du köra SF på en Linux-värd. Kapslade containerprogram stöds för närvarande inte.

Konfigurera Service Fabric CLI (sfctl) på Mac

Följ anvisningarna på Service Fabric CLI för att installera Service Fabric CLI (sfctl) på en Mac-dator. Med CLI-kommandona kan du interagera med Service Fabric-entiteter som kluster, program och tjänster.

  1. Om du vill ansluta till klustret innan du distribuerar programmen kör du kommandot nedan.
sfctl cluster select --endpoint http://localhost:19080

Skapa ditt program på Mac med Yeoman

Service Fabric har ramverktyg som hjälper dig att skapa ett Service Fabric-program från terminalen med en Yeoman-mallgenerator. Följ stegen nedan för att se till att Service Fabric Yeoman-mallgeneratorn fungerar i datorn:

  1. Node.js och Node Upravljač za pakete måste vara installerade på mac-datorn. Du kan installera programvaran med hjälp av HomeBrew enligt följande:

    brew install node
    node -v
    npm -v
    
  2. Installera Yeoman-mallgeneratorn på datorn från Node Upravljač za pakete:

    npm install -g yo
    
  3. Installera den Yeoman-generator du vill använda enligt instruktionerna i dokumentationen för att komma igång. Gör så här om du vill skapa Service Fabric-program med hjälp av 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. När du har installerat generatorerna skapar du körbara gästprogram eller containertjänster genom att köra yo azuresfguest respektive yo azuresfcontainer.

  5. Om du vill skapa ett Service Fabric Java-program på Mac så måste du ha JDK 1.8 och Gradle installerade på värddatorn. Du kan installera programvaran med hjälp av HomeBrew enligt följande:

    brew update
    brew cask install java
    brew install gradle
    

    Viktigt!

    Aktuella versioner av brew cask install java kan installera en nyare version av JDK: et. Se till att installera JDK 8.

Distribuera ditt program på Mac från terminalen

När du har skapat ett Service Fabric-program så kan du distribuera det med CLI:t för Service Fabric:

  1. Anslut till Service Fabric-klustret som körs i containerinstansen på din Mac:

    sfctl cluster select --endpoint http://localhost:19080
    
  2. Gå till projektkatalogen och kör installationsskriptet:

    cd MyProject
    bash install.sh
    

Konfigurera .NET Core 3.1-utveckling

Installera .NET Core 3.1 SDK för Mac för att börja skapa C#Service Fabric-program. Paket för .NET Core Service Fabric-program finns på NuGet.org.

Installera plugin-programmet för Service Fabric till Eclipse på din Mac

Azure Service Fabric har ett plugin-program för Eclipse Neon (eller senare) för Java IDE. Med det här plugin-programmet blir det enklare att skapa och distribuera Java-tjänster. Gör så här om du vill installera eller uppdatera Service Fabric plugin-programmet för Eclipse till den senaste versionen. De andra stegen i Service Fabric för Eclipse-dokumentationen är också relevanta: skapa ett program, lägga till en tjänst i ett program, avinstallera ett program och så vidare.

Det sista steget är att skapa en instans av containern med en sökväg som delas med värden. Den här typen av instansiering krävs för att plugin-programmet ska fungera med Docker-containern på din Mac. Till exempel:

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

Attributen har följande definitioner:

  • /Users/sayantan/work/workspaces/mySFWorkspace är den fullständiga sökvägen till arbetsytan på din Mac.
  • /tmp/mySFWorkspace är sökvägen inuti containern som arbetsytan ska mappas till.

Kommentar

Om du har ett annat namn/en annan sökväg för din arbetsyta uppdaterar du de här värdena i docker run-kommandot.

Om du startar containern med ett annat namn än sfonebox så bör du uppdatera namnvärdet i filen testclient.sh i Java-programmet som är Service Fabric-aktör.

Nästa steg