Configurare l'ambiente di sviluppo in Mac OS XSet up your development environment on Mac OS X

È possibile creare applicazioni di Azure Service Fabric da eseguire in cluster Linux usando Mac OS X. Questo documento illustra come configurare il computer Mac per lo sviluppo.You can build Azure Service Fabric applications to run on Linux clusters by using Mac OS X. This document covers how to set up your Mac for development.

prerequisitiPrerequisites

Azure Service Fabric non viene eseguito in modo nativo in Mac OS X. Per eseguire un cluster di Service Fabric locale, viene offerta un'immagine del contenitore Docker preconfigurata.Azure Service Fabric doesn't run natively on Mac OS X. To run a local Service Fabric cluster, a pre-configured Docker container image is provided. Prima di iniziare, sono necessari:Before you get started, you need:

  • Almeno 4 GB di RAM.At least 4 GB of RAM.
  • La versione più recente di Docker.The latest version of Docker.

Suggerimento

Per installare Docker nel computer Mac, è possibile seguire la procedura descritta nella documentazione di Docker. Al termine, verificare l'installazione.

Creare un contenitore locale e configurare Service FabricCreate a local container and set up Service Fabric

Per configurare un contenitore Docker locale ed eseguirvi un cluster di Service Fabric, seguire questa procedura:To set up a local Docker container and have a Service Fabric cluster running on it, perform the following steps:

  1. Aggiornare la configurazione del daemon Docker nell'host con le impostazioni seguenti e riavviare il daemon Docker:Update the Docker daemon configuration on your host with the following settings and restart the Docker daemon:

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

    È possibile aggiornare queste impostazioni direttamente nel file daemon.json nel percorso di installazione di Docker.You can update these settings directly in the daemon.json file in your Docker installation path.

    Nota

    Il percorso del file daemon.json può essere diverso a seconda del computer, ad esempio ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.

    È consigliabile modificare direttamente le impostazioni di configurazione del daemon in Docker. Selezionare l'icona Docker e quindi selezionare Preferences (Preferenze) > Daemon > Advanced (Avanzate).

    È consigliabile aumentare le risorse allocate per Docker durante il test di applicazioni di grandi dimensioni. Questa operazione può essere eseguita selezionando l'icona Docker, quindi selezionando Advanced (Avanzate) per modificare il numero di core e la quantità di memoria.

  2. In una nuova directory creare un file denominato Dockerfile per creare l'immagine di Service Fabric:In a new directory create a file called Dockerfile to build your Service Fabric Image:

    FROM microsoft/service-fabric-onebox
    WORKDIR /home/ClusterDeployer
    RUN ./setup.sh
    #Generate the local
    RUN locale-gen en_US.UTF-8
    #Set environment variables
    ENV LANG=en_US.UTF-8
    ENV LANGUAGE=en_US:en
    ENV LC_ALL=en_US.UTF-8
    EXPOSE 19080 19000 80 443
    #Start SSH before running the cluster
    CMD /etc/init.d/ssh start && ./run.sh
    

    Nota

    È possibile adattare questo file per aggiungere altri programmi o dipendenze nel contenitore. Ad esempio, se si aggiunge RUN apt-get install nodejs -y sarà possibile supportare le applicazioni nodejs come eseguibili guest.

    Suggerimento

    Per impostazione predefinita, verrà eseguito il pull dell'immagine con la versione più recente di Service Fabric. Per revisioni specifiche, vedere la pagina dell'hub Docker.

  3. Per creare un'immagine riutilizzabile da Dockerfile aprire un terminale e cd alla directory che contiene Dockerfile e quindi eseguire:To build your reusable image from the Dockerfile open a terminal and cd to the directly holding your Dockerfile then run:

    docker build -t mysfcluster .
    

    Nota

    Questa operazione richiederà del tempo, ma è necessaria eseguirla solo una volta.

  4. Ora è possibile iniziare rapidamente una copia locale di Service Fabric, quando necessario, eseguendo:Now you can quickly start a local copy of Service Fabric, whenever you need it, by running:

    docker run --name sftestcluster -d -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mysfcluster
    

    Suggerimento

    Specificare un nome per l'istanza del contenitore per poterla gestire in modo più leggibile.

    Se l'applicazione è in ascolto su determinate porte, le porte devono essere specificate usando tag -p aggiuntivi. Se ad esempio l'applicazione è in ascolto sulla porta 8080, aggiungere il tag -p seguente:

    docker run -itd -p 19080:19080 -p 8080:8080 --name sfonebox microsoft/service-fabric-onebox

  5. Il cluster richiederà poco tempo per l'avvio. È possibile visualizzare i log usando il comando seguente o passare al dashboard per visualizzare l'integrità del cluster http://localhost:19080:The cluster will take a short amount of time to start, you can view logs using the following command or jump to the dashboard to view the clusters health http://localhost:19080:

    docker logs sftestcluster
    
  6. Al termine è possibile arrestare e pulire il contenitore con questo comando:When your done you can stop and cleanup the container with this command:

    docker rm -f sftestcluster
    

Limitazioni noteKnown Limitations

Le seguenti sono limitazioni note del cluster locale eseguito in un contenitore per Mac:The following are known limitations of the local cluster running in a container for Mac's:

  • Il servizio DNS non viene eseguito e non è supportato Problema 132DNS service does not run and is not supported Issue #132

Configurare l'interfaccia della riga di comando di Service Fabric (sfctl) in un computer MacSet up the Service Fabric CLI (sfctl) on your Mac

Per installare l'interfaccia della riga di comando di Service Fabric (sfctl) in un computer Mac, seguire le istruzioni riportate in Interfaccia della riga di comando di Azure Service Fabric.Follow the instructions at Service Fabric CLI to install the Service Fabric CLI (sfctl) on your Mac. I comandi dell'interfaccia della riga di comando supportano l'interazione con entità di Service Fabric come cluster, applicazioni e servizi.The CLI commands support interacting with Service Fabric entities, including clusters, applications, and services.

  1. Eseguire questo comando per connettersi al cluster prima di distribuire le applicazioni.To connect to the cluster before deploying applications run the command below.
sfctl cluster select --endpoint http://localhost:19080

Creare l'applicazione in un computer Mac usando YeomanCreate your application on your Mac by using Yeoman

Service Fabric fornisce strumenti di scaffolding che consentono di creare un'applicazione di Service Fabric dal terminale usando il generatore di modelli Yeoman.Service Fabric provides scaffolding tools that help you to create a Service Fabric application from the terminal by using the Yeoman template generator. Usare la procedura seguente per assicurarsi che nel computer sia disponibile il generatore di modelli Yeoman di Service Fabric:Use the following steps to ensure that the Service Fabric Yeoman template generator is working on your machine:

  1. Node.js e Node Package Manager (NPM) devono essere installati nel Mac.Node.js and Node Package Manager (NPM) must be installed on your Mac. Il software può essere installato usando HomeBrew, come segue:The software can be installed by using HomeBrew, as follows:

    brew install node
    node -v
    npm -v
    
  2. Installare il generatore di modelli Yeoman nel computer da NPM:Install the Yeoman template generator on your machine from NPM:

    npm install -g yo
    
  3. Installare il generatore Yeoman preferito seguendo la procedura disponibile nella documentazione introduttiva.Install the Yeoman generator that you prefer by following the steps in the getting started documentation. Per creare applicazioni di Service Fabric con Yeoman, seguire questa procedura:To create Service Fabric applications by using Yeoman, follow these steps:

    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. Per compilare un'applicazione Java di Service Fabric nel computer Mac, JDK versione 1.8 e Gradle devono essere installati nel computer host.To build a Service Fabric Java application on your Mac, JDK version 1.8 and Gradle must be installed on the host machine. Il software può essere installato usando HomeBrew, come segue:The software can be installed by using HomeBrew, as follows:

    brew update
    brew cask install java
    brew install gradle
    

Distribuire l'applicazione nel computer Mac dal terminaleDeploy your application on your Mac from the terminal

Dopo aver creato e compilato l'applicazione di Service Fabric, è possibile distribuirla con l'interfaccia della riga di comando di Service Fabric:After you create and build your Service Fabric application, you can deploy your application by using the Service Fabric CLI:

  1. Connettersi al cluster di Service Fabric in esecuzione nell'istanza del contenitore nel computer Mac:Connect to the Service Fabric cluster that is running inside the container instance on your Mac:

    sfctl cluster select --endpoint http://localhost:19080
    
  2. Dalla directory di progetto eseguire lo script di installazione:From inside your project directory, run the install script:

    cd MyProject
    bash install.sh
    

Configurare lo sviluppo .NET Core 2.0Set up .NET Core 2.0 development

Installare il .NET Core 2.0 SDK per Mac per avviare la creazione di applicazioni C# di Service Fabric.Install the .NET Core 2.0 SDK for Mac to start creating C# Service Fabric applications. I pacchetti per le applicazioni .NET Core 2.0 di Service Fabric sono ospitati in NuGet.org, attualmente in anteprima.Packages for .NET Core 2.0 Service Fabric applications are hosted on NuGet.org, which is currently in preview.

Installare il plug-in Service Fabric per Eclipse nel computer MacInstall the Service Fabric plug-in for Eclipse on your Mac

Azure Service Fabric fornisce un plug-in per Eclipse Neon (o versione successiva) per l'ambiente IDE Java.Azure Service Fabric provides a plug-in for Eclipse Neon (or later) for the Java IDE. Il plug-in semplifica il processo di creazione, compilazione e distribuzione di servizi Java.The plug-in simplifies the process of creating, building, and deploying Java services. Per installare o aggiornare il plug-in Service Fabric per Eclipse alla versione più recente, seguire questa procedura.To install or update the Service Fabric plug-in for Eclipse to the latest version, follow these steps. Sono applicabili anche gli altri passaggi della documentazione di Service Fabric per Eclipse: compilare un'applicazione, aggiungere un servizio a un'applicazione, disinstallare un'applicazione e così via.The other steps in the Service Fabric for Eclipse documentation are also applicable: build an application, add a service to an application, uninstall an application, and so on.

L'ultimo passaggio prevede la creazione di un'istanza del contenitore con un percorso condiviso con l'host.The last step is to instantiate the container with a path that is shared with your host. Il plug-in richiede che questo tipo di creazione di istanza usi il contenitore Docker nel Mac,The plug-in requires this type of instantiation to work with the Docker container on your Mac. Ad esempio: For example:

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

Gli attributi sono definiti come segue:The attributes are defined as follows:

  • /Users/sayantan/work/workspaces/mySFWorkspace è il percorso completo dell'area di lavoro nel Mac./Users/sayantan/work/workspaces/mySFWorkspace is the fully qualified path of the workspace on your Mac.
  • /tmp/mySFWorkspace è il percorso all'interno del contenitore a cui eseguire il mapping dell'area di lavoro./tmp/mySFWorkspace is the path that is inside of the container to where the workspace should be mapped.

Nota

Se l'area di lavoro ha un nome/percorso diverso, aggiornare questi valori nel comando docker run.

Se si avvia il contenitore con un nome diverso da sfonebox, aggiornare il valore del nome nel file testclient.sh nell'applicazione Java di Service Fabric Actors.

Passaggi successiviNext steps