在 Mac OS X 上设置开发环境

可以使用 Mac OS X 生成在 Linux 群集上运行的 Azure Service Fabric 应用程序。本文档介绍了如何设置用于开发的 Mac。

先决条件

Azure Service Fabric 不在 Mac OS X 本机上运行。为了运行本地 Service Fabric 群集,我们提供了预配置的 Docker 容器映像。 准备事项:

  • 至少 4 GB 的 RAM。
  • 最新版的 Docker

Tip

若要在 Mac 上安装 Docker,请按 Docker 文档中的步骤操作。 安装之后,请验证安装

创建本地容器和设置 Service Fabric

若要设置本地 Docker 容器并在其上运行 Service Fabric 群集,请执行以下步骤:

  1. 从 Docker 中心存储库拉取 Service Fabric 单机容器映像。 默认情况下,这样会拉取具有最新 Service Fabric 版本的映像。 如需特定的修订版本,请访问 Docker 中心页。

    docker pull microsoft/service-fabric-onebox
    
  2. 使用以下设置更新主机上的 Docker 守护程序配置并重启 Docker 守护程序:

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

    可以在 Docker 安装路径的 daemon.json 文件中直接更新这些设置。

    Note

    daemon.json 文件的位置因计算机而异。 例如,~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json。

    建议直接在 Docker 中修改守护程序配置设置。 选择 Docker 图标,然后选择“首选项” > “守护程序” > “高级”。

  3. 启动 Service Fabric 单机容器实例,并使用在第一步拉取的映像:

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

    Tip

    为容器实例提供一个名称,以更具可读性的方式对其进行处理。

    如果应用程序正在侦听特定端口,则必须使用附加的 -p 标记指定这些端口。 例如,如果应用程序正在侦听端口 8080,请添加下面的 -p 标记:

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

  4. 以交互式 SSH 模式登录到 Docker 容器:

    docker exec -it sfonebox bash
    
  5. 运行安装程序脚本,以便提取所需的依赖项,然后启动容器中的群集:

    ./setup.sh     # Fetches and installs the dependencies required for Service Fabric to run
    ./run.sh       # Starts the local cluster
    
  6. 完成第 5 步后,从 Mac 浏览到 http://localhost:19080。 次数会看到 Service Fabric 资源管理器。

在 Mac 上设置 Service Fabric CLI (sfctl)

按照 Service Fabric CLI 中的说明在 Mac 上安装 Service Fabric CLI (sfctl)。 CLI 命令支持与 Service Fabric 实体(包括群集、应用程序和服务)交互。

  1. 若要在部署应用程序之前连接到群集,请运行以下命令。
sfctl cluster select --endpoint http://localhost:19080

使用 Yeoman 在 Mac 上创建应用程序

Service Fabric 提供基架工具,可以借助此类工具,使用 Yeoman 模板生成器从终端创建 Service Fabric 应用程序。 执行以下步骤,确保已经有可以在计算机上运行的 Service Fabric Yeoman 模板生成器:

  1. Node.js 和 Node 包管理器 (NPM) 必须安装在 Mac 上。 此软件可以使用 HomeBrew 进行安装,如下所示:

    brew install node
    node -v
    npm -v
    
  2. 通过 NPM 在计算机上安装 Yeoman 模板生成器:

    npm install -g yo
    
  3. 请按入门文档中的步骤,安装首选的 Yeoman 生成器。 若要使用 Yeoman 来创建 Service Fabric 应用程序,请执行以下步骤:

    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. 若要在 Mac 上生成 Service Fabric Java 应用程序,必须在主机上安装 JDK 1.8 和 Gradle。 此软件可以使用 HomeBrew 进行安装,如下所示:

    brew update
    brew cask install java
    brew install gradle
    

通过 Terminal 在 Mac 上部署应用程序

创建和生成 Service Fabric 应用程序以后,即可使用 Service Fabric CLI 部署该应用程序:

  1. 连接到在 Mac 的容器实例中运行的 Service Fabric 群集:

    sfctl cluster select --endpoint http://localhost:19080
    
  2. 从项目目录中运行安装脚本:

    cd MyProject
    bash install.sh
    

设置 .NET Core 2.0 开发

安装用于 Mac 的 .NET Core 2.0 SDK,开始创建 C# Service Fabric 应用程序。 .NET Core 2.0 Service Fabric 应用程序包托管在目前以预览版形式推出的 NuGet.org 上。

在 Mac 上为 Eclipse Neon 安装 Service Fabric 插件

Azure Service Fabric 为适用于 Java IDE 的 Eclipse Neon 提供插件。 该插件可简化创建、生成和部署 Java 服务的过程。 若要为 Eclipse 安装 Service Fabric 插件或将其更新到最新版本,请执行这些步骤适用于 Eclipse 的 Service Fabric 文档中的其他步骤也适用:生成应用程序、向应用程序添加服务、卸载应用程序,等等。

最后一步是使用与主机共享的路径实例化该容器。 该插件需要此类实例化才能与 Mac 上的 Docker 容器配合使用。 例如:

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

这些属性定义如下:

  • /Users/sayantan/work/workspaces/mySFWorkspace 是 Mac 上的工作区的完全限定路径。
  • /tmp/mySFWorkspace 是容器内部的路径,应将工作区映射到此路径。

Note

如果为工作区设置了其他名称/路径,请在 docker run 命令中更新这些值。

如果所启动容器的名称不是 sfonebox,请在 Service Fabric 执行组件 Java 应用程序的 testclient.sh 文件中更新名称值。

后续步骤