準備 Linux 上的開發環境

若要在 Linux 開發機器上部署和執行 Azure Service Fabric 應用程式 ,請安裝執行階段和通用 SDK。 您也可以安裝 Java 和 .NET Core 開發的選擇性 SDK。

本文中的步驟假設您要在 Linux 上進行原生安裝,或使用 Service Fabric OneBox 容器映像,也就是 mcr.microsoft.com/service-fabric/onebox:u18

您可以使用 Azure Service Fabric 命令列介面 (CLI),管理裝載於雲端或內部部署中的 Service Fabric 實體。 如需如何安裝 CLI 的資訊,請參閱設定 Service Fabric CLI

必要條件

  • 請確定您使用的是支援的 Linux 版本

  • 安裝 apt-transport-https 套件:

    sudo apt-get install apt-transport-https
    

安裝方法

更新 APT 來源

若要透過 apt-get 命令列工具安裝 SDK 和相關聯的執行階段套件,您必須先更新 Advanced Packaging Tool (APT) 來源。

指令碼安裝

為了方便起見,提供的指令碼會隨著 sfctl CLI 安裝 Service Fabric 執行階段和 Service Fabric 通用 SDK。 執行指令碼,即表示您同意所要安裝之所有軟體的授權。 或者,您可以在下一節中執行手動安裝步驟,這會顯示相關聯的授權以及所安裝的元件。

指令碼執行成功之後,您可以跳到設定本機叢集

sudo curl -s https://raw.githubusercontent.com/Azure/service-fabric-scripts-and-templates/master/scripts/SetupServiceFabric/SetupServiceFabric.sh | sudo bash

手動安裝

若要手動安裝 Service Fabric 執行階段和通用 SDK,請遵循本指南的其餘部分。

  1. 開啟終端機。

  2. dotnet 存放庫新增到對應至散發的來源清單。

    wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb
    sudo dpkg -i packages-microsoft-prod.deb
    
  3. 將新的 MS Open Tech Gnu Privacy Guard (GnuPG 或 GPG) 金鑰新增至 APT keyring。

    sudo curl -fsSL https://packages.microsoft.com/keys/msopentech.asc | sudo apt-key add -
    
  4. 將官方的 Docker GPG 金鑰新增至 APT keyring。

    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  5. 設定 Docker 存放庫。

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  6. 將 Azul JDK 金鑰新增至 APT Keyring,並設定其存放庫。

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9
    sudo apt-add-repository "deb http://repos.azul.com/azure-only/zulu/apt stable main"
    
  7. 根據新增的存放庫重新整理套件清單。

    sudo apt-get update
    

針對本機叢集安裝和設定 Service Fabric SDK

在您更新來源後,就可以安裝 SDK。 安裝 Service Fabric SDK 套件、確認安裝,並接受授權合約。

Ubuntu

sudo apt-get install servicefabricsdkcommon

提示

下列命令會自動接受 Service Fabric 套件的授權︰

echo "servicefabric servicefabric/accepted-eula-ga select true" | sudo debconf-set-selections
echo "servicefabricsdkcommon servicefabricsdkcommon/accepted-eula-ga select true" | sudo debconf-set-selections

設定本機叢集

  1. 啟動本機 Service Fabric 叢集以進行開發。

啟動容器型 Service Fabric Onebox 叢集。

  1. 安裝 Moby,以便能夠部署 Docker 容器。

    sudo apt-get install moby-engine moby-cli -y
    
  2. 使用下列設定更新您主機上的 Docker 精靈設定,然後重新啟動 Docker 精靈。 詳細資料:啟用 IPv6 支援

    {
        "ipv6": true,
        "fixed-cidr-v6": "fd00::/64"
    }
    
  3. 啟動叢集。
    Ubuntu 20.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:u20
    

    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
    

    提示

    根據預設,這會提取包含最新版 Service Fabric 的映像。 如需特定版本,請造訪 Docker Hub 頁面。

  1. 開啟瀏覽器,前往 Service Fabric Explorer (http://localhost:19080/Explorer)。 叢集啟動時,您會看見 Service Fabric Explorer 儀表板。 叢集可能需要數分鐘的時間才能完成設定。 如果您的瀏覽器無法開啟 URL,或 Service Fabric Explorer 未顯示系統已就緒,請稍候幾分鐘,然後再試一次。

    Service Fabric Explorer on Linux

    現在,您可以根據客體容器或來賓可執行檔,部署預先建置的 Service Fabric 應用程式套件或新的套件。 若要使用 Java 或 .NET Core SDK 建置新的服務,請遵循以下幾節所提供的選擇性設定步驟。

注意

Linux 不支援獨立叢集。

提示

如果您有可用的 SSD 磁碟,建議您透過 devclustersetup.sh 使用 --clusterdataroot 傳遞 SSD 資料夾路徑來獲得較佳的效能。

設定 Service Fabric CLI

Service Fabric CLI 包含可供與 Service Fabric 實體 (包括叢集和應用程式) 進行互動的命令。 若要安裝 CLI,請遵循 Service Fabric CLI 的指示。

設定容器和來賓可執行檔的 Yeoman 產生器

Service Fabric 提供的 Scaffolding 工具可協助您從終端機使用 Yeoman 範本產生器建立 Service Fabric 應用程式。 請遵循下列步驟來設定 Service Fabric Yeoman 範本產生器:

  1. 在電腦上安裝 Node.js 和 npm。

    sudo add-apt-repository "deb https://deb.nodesource.com/node_8.x $(lsb_release -s -c) main"
    sudo apt-get update
    sudo apt-get install nodejs
    
  2. 在您的機器上透過 npm 安裝 Yeoman 範本產生器。

    sudo npm install -g yo
    
  3. 從 npm 安裝 Service Fabric Yeo 容器產生器和來賓可執行檔產生器。

    sudo npm install -g generator-azuresfcontainer  # for Service Fabric container application
    sudo npm install -g generator-azuresfguest      # for Service Fabric guest executable application
    

在您安裝產生器後,請分別執行 yo azuresfguestyo azuresfcontainer,以建立來賓可執行檔或容器服務。

設定 .NET Core 3.1 開發

安裝 .NET Core 3.1 SDK for Ubuntu 以開始建立 C# Service Fabric 應用程式。 .NET Core Service Fabric 應用程式的套件裝載於 NuGet.org。

設定 Java 開發

若要使用 Java 建置 Service Fabric 服務,請安裝 Gradle 來執行建置工作。 執行下列命令來安裝 Gradle。 系統會從 Maven 提取 Service Fabric Java 程式庫。

  • Ubuntu

    curl -s https://get.sdkman.io | bash
    sdk install gradle 5.1
    
  • Red Hat Enterprise Linux 7.4 (Service Fabric 預覽支援)

    sudo yum install java-1.8.0-openjdk-devel
    curl -s https://get.sdkman.io | bash
    sdk install gradle
    

您也必須安裝 Java 可執行檔的 Service Fabric Yeo 產生器。 請確定您已安裝 Yeoman,然後執行下列命令:

npm install -g generator-azuresfjava

安裝 Eclipse 外掛程式 (選擇性)

您可以從適用於 Java 開發人員或 Java EE 開發人員的 Eclipse 整合式開發環境 (IDE) 安裝適用於 Service Fabric 的 Eclipse 外掛程式。 除了 Service Fabric Java 應用程式之外,您可以使用 Eclipse 來建立 Service Fabric 來賓可執行檔應用程式和容器應用程式。

重要

Service Fabric 外掛程式需要 Eclipse Neon 或更新版本。 請參閱此注意事項之後的指示,以了解如何檢查您的 Eclipse 版本。 如果您已安裝較早版本的 Eclipse,可以從 Eclipse 網站下載較新版本。 建議您不要在現有的 Eclipse 安裝之上進行安裝 (覆寫)。 請在執行安裝程式之前先移除舊版,或在不同的目錄中安裝較新版本。

在 Ubuntu 上,建議您直接從 Eclipse 網站安裝,而不要使用套件安裝程式 (aptapt-get)。 這麼做可確保您會取得最新版的 Eclipse。 您可以安裝適用於 Java 開發人員或 Java EE 開發人員的 Eclipse IDE。

  1. 在 Eclipse 中,確定您已安裝 Eclipse Neon 或更新版本以及 Buildship 2.2.1 版或更新版本。 請選取 [說明]> [關於 Eclipse]> [安裝詳細資料],檢查已安裝的元件版本。 您可以使用 Eclipse Buildship:適用於 Gradle 的 Eclipse 外掛程式的指示來更新 Buildship。

  2. 若要安裝 Service Fabric 外掛程式,請選取 [說明] > [安裝新軟體]

  3. 在 [使用] 方塊中,輸入 https://dl.microsoft.com/eclipse

  4. 選取 [新增]。

    Available Software page

  5. 選取 [ServiceFabric] 外掛程式,然後按 [下一步]

  6. 執行安裝步驟。 然後接受使用者授權合約。

如果您已安裝 Service Fabric Eclipse 外掛程式,請確定您擁有的是最新版本。 請選取 [說明]>[關於Eclipse]>[安裝詳細資料] 來檢查。 然後,在已安裝的外掛程式清單中搜尋 Service Fabric。如果有可用的較新版本,請選取 [更新]

如需詳細資訊,請參閱適用於 Eclipse Java 應用程式開發的 Service Fabric 外掛程式

更新 SDK 和執行階段

若要更新為最新版的 SDK 和執行階段,請執行下列命令。

sudo apt-get update
sudo apt-get install servicefabric servicefabricsdkcommon

若要更新 Maven 提供的 Java SDK 二進位檔,您必須在 build.gradle 檔案中更新對應二進位檔的版本詳細資料,以指向最新版本。 若想知道您需要更新版本的確切位置,請在 Service Fabric 入門範例中參考 任何 build.gradle 檔案。

注意

更新套件可能會導致本機開發叢集停止執行。 請遵循本文中的指示,在升級之後重新啟動本機叢集。

移除 SDK

若要移除 Service Fabric SDK,請執行下列命令。

  • Ubuntu

    sudo apt-get remove servicefabric servicefabicsdkcommon
    npm uninstall -g generator-azuresfcontainer
    npm uninstall -g generator-azuresfguest
    sudo apt-get install -f
    
  • Red Hat Enterprise Linux 7.4 (Service Fabric 預覽支援)

    sudo yum remove servicefabric servicefabicsdkcommon
    npm uninstall -g generator-azuresfcontainer
    npm uninstall -g generator-azuresfguest
    

下一步