Vytvoření aplikace v Ruby na železnici v App ServiceCreate a Ruby on Rails App in App Service

Azure App Service v systému Linux poskytuje vysoce škálovatelnou službu s automatickými opravami pro hostování webů pomocí operačního systému Linux.Azure App Service on Linux provides a highly scalable, self-patching web hosting service using the Linux operating system. V tomto kurzu rychlý Start se dozvíte, jak nasadit aplikaci v Ruby na železnici, která App Service na Linux pomocí Cloud Shell.This quickstart tutorial shows how to deploy a Ruby on Rails app to App Service on Linux using the Cloud Shell.

Poznámka

Vývojová sada Ruby podporuje v současnosti jen Ruby on Rails.The Ruby development stack only supports Ruby on Rails at this time. Pokud chcete použít jinou platformu, například Sinatra, nebo pokud chcete použít nepodporovanou verzi Ruby, je nutné ji spustit ve vlastním kontejneru.If you want to use a different platform, such as Sinatra, or if you want to use an unsupported Ruby version, you need to run it in a custom container.

Hello World

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.If you don't have an Azure subscription, create a free account before you begin.

PožadavkyPrerequisites

Stažení ukázkyDownload the sample

V okně terminálu naklonujte spuštěním následujícího příkazu úložiště ukázkové aplikace do místního počítače:In a terminal window, run the following command to clone the sample app repository to your local machine:

git clone https://github.com/Azure-Samples/ruby-docs-hello-world

Aplikaci spustíte místně.Run the application locally

Spusťte aplikaci místně, abyste viděli, jak by měla vypadat po nasazení do Azure.Run the application locally so that you see how it should look when you deploy it to Azure. Otevřete okno terminálu, přejděte do adresáře hello-world a pomocí příkazu rails server spusťte server.Open a terminal window, change to the hello-world directory, and use the rails server command to start the server.

Prvním krokem je instalace požadovaných souborů gem.The first step is to install the required gems. GemfileV ukázce je zahrnut, stačí spustit následující příkaz:There's a Gemfile included in the sample, so just run the following command:

bundle install

Po instalaci souborů gem použijeme příkaz bundler ke spuštění aplikace:Once the gems are installed, we'll use bundler to start the app:

bundle exec rails server

Ve webovém prohlížeči přejděte na adresu http://localhost:3000 a místně otestujte aplikaci.Using your web browser, navigate to http://localhost:3000 to test the app locally.

Nakonfigurovaná aplikace Hello World

Použití služby Azure Cloud ShellUse Azure Cloud Shell

Azure hostí interaktivní prostředí Azure Cloud Shell, které můžete používat v prohlížeči.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Pro práci se službami Azure můžete v prostředí Cloud Shell použít buď Bash, nebo PowerShell.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Můžete použít předinstalované příkazy služby Cloud Shell ke spuštění kódu uvedeného v tomto článku, aniž byste museli instalovat cokoli do svého místního prostředí.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Spuštění služby Azure Cloud Shell:To start Azure Cloud Shell:

MožnostOption Příklad nebo odkazExample/Link
Zvolte Vyzkoušet v pravém horním rohu bloku kódu.Select Try It in the upper-right corner of a code block. Výběr Vyzkoušet automaticky nekopíruje kód do služby Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Příklad Vyzkoušet služby Azure Cloud Shell
Přejděte na adresu https://shell.azure.com nebo výběrem tlačítka Spustit Cloud Shell otevřete Cloud Shell v prohlížeči.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Spuštění služby Cloud Shell v novém okněLaunch Cloud Shell in a new window
Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal.Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Tlačítko Cloud Shell na webu Azure Portal

Pokud chcete spustit kód uvedený v tomto článku ve službě Azure Cloud Shell, postupujte takto:To run the code in this article in Azure Cloud Shell:

  1. Spusťte Cloud Shell.Start Cloud Shell.

  2. Vyberte tlačítko Kopírovat na bloku kódu a kód zkopírujte.Select the Copy button on a code block to copy the code.

  3. Vložte kód do relace Cloud Shell pomocí kláves Ctrl+Shift+V ve Windows a Linuxu nebo pomocí kláves Cmd+Shift+V v systému macOS.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Spusťte kód stisknutím klávesy Enter.Select Enter to run the code.

Konfigurace uživatele nasazeníConfigure a deployment user

FTP a místní Git se můžou nasadit do webové aplikace Azure pomocí uživatele nasazení.FTP and local Git can deploy to an Azure web app by using a deployment user. Jakmile nakonfigurujete uživatele nasazení, můžete ho použít pro všechna nasazení Azure.Once you configure your deployment user, you can use it for all your Azure deployments. Uživatelské jméno a heslo nasazení na úrovni účtu se liší od přihlašovacích údajů předplatného Azure.Your account-level deployment username and password are different from your Azure subscription credentials.

Pokud chcete nakonfigurovat uživatele nasazení, spusťte v Azure Cloud Shell příkaz AZ WebApp Deployment User set .To configure the deployment user, run the az webapp deployment user set command in Azure Cloud Shell. Nahraďte <username> a <password> pomocí uživatelského jména a hesla pro nasazení.Replace <username> and <password> with a deployment user username and password.

  • Uživatelské jméno musí být v rámci Azure jedinečné a pro místní nabízená oznámení Git nesmí obsahovat @ symbol.The username must be unique within Azure, and for local Git pushes, must not contain the ‘@’ symbol.
  • Heslo musí mít délku alespoň osm znaků a dva z následujících tří prvků: písmena, číslice a symboly.The password must be at least eight characters long, with two of the following three elements: letters, numbers, and symbols.
az webapp deployment user set --user-name <username> --password <password>

Výstup JSON zobrazuje heslo jako null .The JSON output shows the password as null. Pokud se zobrazí chyba 'Conflict'. Details: 409, změňte uživatelské jméno.If you get a 'Conflict'. Details: 409 error, change the username. Pokud se zobrazí chyba 'Bad Request'. Details: 400, použijte silnější heslo.If you get a 'Bad Request'. Details: 400 error, use a stronger password.

Poznamenejte si uživatelské jméno a heslo, které chcete použít k nasazení webových aplikací.Record your username and password to use to deploy your web apps.

Vytvoření skupiny prostředkůCreate a resource group

Skupina prostředků je logický kontejner, ve kterém se nasazují a spravují prostředky Azure, jako jsou webové aplikace, databáze a účty úložiště.A resource group is a logical container into which Azure resources, such as web apps, databases, and storage accounts, are deployed and managed. Později se například můžete rozhodnout odstranit celou skupinu prostředků v jednom jednoduchém kroku.For example, you can choose to delete the entire resource group in one simple step later.

V Cloud Shell vytvořte skupinu prostředků pomocí az group create příkazu.In the Cloud Shell, create a resource group with the az group create command. Následující příklad vytvoří skupinu prostředků myResourceGroup v umístění Západní Evropa.The following example creates a resource group named myResourceGroup in the West Europe location. Pokud chcete zobrazit všechna podporovaná umístění pro službu App Service v Linuxu na úrovni Basic, spusťte příkaz az appservice list-locations --sku B1 --linux-workers-enabled.To see all supported locations for App Service on Linux in Basic tier, run the az appservice list-locations --sku B1 --linux-workers-enabled command.

az group create --name myResourceGroup --location "West Europe"

Obvykle budete svoji skupinu prostředků a prostředky vytvářet v oblasti, kterou máte blízko.You generally create your resource group and the resources in a region near you.

Po dokončení příkazu se ve výstupu JSON zobrazí vlastnosti skupiny prostředků.When the command finishes, a JSON output shows you the resource group properties.

Vytvoření plánu služby Azure App ServiceCreate an Azure App Service plan

V Cloud Shell vytvořte pomocí příkazu plán App Service ve skupině prostředků az appservice plan create .In the Cloud Shell, create an App Service plan in the resource group with the az appservice plan create command.

Následující příklad vytvoří plán App Service pojmenovaný myAppServicePlan v bezplatné cenové úrovni ( --sku F1 ) a v kontejneru Linux ( --is-linux ).The following example creates an App Service plan named myAppServicePlan in the Free pricing tier (--sku F1) and in a Linux container (--is-linux).

az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku F1 --is-linux

Po vytvoření plánu služby App Service se v rozhraní příkazového řádku Azure zobrazí podobné informace jako v následujícím příkladu:When the App Service plan has been created, the Azure CLI shows information similar to the following example:

{ 
  "adminSiteName": null,
  "appServicePlanName": "myAppServicePlan",
  "geoRegion": "West Europe",
  "hostingEnvironmentProfile": null,
  "id": "/subscriptions/0000-0000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan",
  "kind": "linux",
  "location": "West Europe",
  "maximumNumberOfWorkers": 1,
  "name": "myAppServicePlan",
  <JSON data removed for brevity.>
  "targetWorkerSizeId": 0,
  "type": "Microsoft.Web/serverfarms",
  "workerTierName": null
} 

Vytvoření webové aplikaceCreate a web app

Vytvořte webovou aplikaci v myAppServicePlan plánu App Service.Create a web app in the myAppServicePlan App Service plan.

V Cloud Shell můžete použít az webapp create příkaz.In the Cloud Shell, you can use the az webapp create command. V následujícím příkladu nahraďte <app-name> globálně jedinečným názvem aplikace (platné znaky jsou a-z, 0-9 a -).In the following example, replace <app-name> with a globally unique app name (valid characters are a-z, 0-9, and -). Modul runtime je nastavený na RUBY|2.6.2.The runtime is set to RUBY|2.6.2. Pokud chcete zobrazit všechny podporované moduly runtime, spusťte příkaz az webapp list-runtimes --linux .To see all supported runtimes, run az webapp list-runtimes --linux.

# Bash
az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --runtime "RUBY|2.6.2" --deployment-local-git
# PowerShell
az --% webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --runtime "RUBY|2.6.2" --deployment-local-git

Po vytvoření webové aplikace Azure CLI zobrazí výstup podobný následujícímu příkladu:When the web app has been created, the Azure CLI shows output similar to the following example:

Local git is configured with url of 'https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git'
{
  "availabilityState": "Normal",
  "clientAffinityEnabled": true,
  "clientCertEnabled": false,
  "cloningInfo": null,
  "containerSize": 0,
  "dailyMemoryTimeQuota": 0,
  "defaultHostName": "<app-name>.azurewebsites.net",
  "deploymentLocalGitUrl": "https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git",
  "enabled": true,
  < JSON data removed for brevity. >
}

Vytvořili jste novou prázdnou webovou aplikaci s povoleným nasazením Gitu.You’ve created an empty new web app, with git deployment enabled.

Poznámka

Adresa URL vzdáleného úložiště Git se zobrazuje ve vlastnosti deploymentLocalGitUrl ve formátu https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git.The URL of the Git remote is shown in the deploymentLocalGitUrl property, with the format https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git. Tuto adresu URL si uložte, protože ji budete potřebovat později.Save this URL as you need it later.

Přejděte do aplikace a podívejte se na nově vytvořenou webovou aplikaci s použitím integrované image.Browse to the app to see your newly created web app with built-in image. Nahraďte < název aplikace> názvem vaší webové aplikace.Replace <app name> with your web app name.

http://<app_name>.azurewebsites.net

Vaše nová webová aplikace by měla vypadat takto:Here is what your new web app should look like:

Úvodní stránka

Nasazení aplikaceDeploy your application

Spuštěním následujících příkazů nasaďte místní aplikaci do vaší webové aplikace Azure:Run the following commands to deploy the local application to your Azure web app:

git remote add azure <Git deployment URL from above>
git push azure main

Zkontrolujte, že operace vzdáleného nasazení hlásí úspěch.Confirm that the remote deployment operations report success. Příkazy vygenerují výstup podobný následujícímu textu:The commands produce output similar to the following text:

remote: Using turbolinks 5.2.0
remote: Using uglifier 4.1.20
remote: Using web-console 3.7.0
remote: Bundle complete! 18 Gemfile dependencies, 78 gems now installed.
remote: Bundled gems are installed into `/tmp/bundle`
remote: Zipping up bundle contents
remote: .......
remote: ~/site/repository
remote: Finished successfully.
remote: Running post deployment command(s)...
remote: Deployment successful.
remote: App container will begin restart within 10 seconds.
To https://<app-name>.scm.azurewebsites.net/<app-name>.git
   a6e73a2..ae34be9  main -> main

Až se nasazení dokončí, počkejte asi 10 sekund, než se webová aplikace restartuje, a pak přejděte do webové aplikace a ověřte výsledky.Once the deployment has completed, wait about 10 seconds for the web app to restart, and then navigate to the web app and verify the results.

http://<app-name>.azurewebsites.net

aktualizovaná webová aplikace

Poznámka

I když se aplikace restartuje, můžete sledovat stavový kód HTTP Error 503 Server unavailable v prohlížeči nebo Hey, Ruby developers! výchozí stránku.While the app is restarting, you may observe the HTTP status code Error 503 Server unavailable in the browser, or the Hey, Ruby developers! default page. Úplné restartování aplikace může trvat několik minut.It may take a few minutes for the app to fully restart.

Vyčištění nasazeníClean up deployment

Po spuštění ukázkového skriptu můžete pomocí následujícího příkazu odebrat skupinu prostředků a všechny k ní přidružené prostředky.After the sample script has been run, the following command can be used to remove the resource group and all resources associated with it.

az group delete --name myResourceGroup

Další krokyNext steps