Azure App Service için sürekli dağıtımContinuous deployment to Azure App Service

Azure App Service , en son güncelleştirmeleri çekerek GitHub, bitbucket ve Azure Repos depolarından sürekli dağıtım yapılmasını mümkün.Azure App Service enables continuous deployment from GitHub, BitBucket, and Azure Repos repositories by pulling in the latest updates. Bu makalede, kudu derleme hizmeti veya Azure Pipelinesaracılığıyla uygulamanızı sürekli olarak dağıtmak için Azure Portal nasıl kullanılacağı gösterilmektedir.This article shows you how to use the Azure portal to continuously deploy your app through the Kudu build service or Azure Pipelines.

Kaynak denetim hizmetleri hakkında daha fazla bilgi için bkz. depo oluşturma (GitHub), depo oluşturma (Bitbucket)veya Yeni git deposu oluşturma (Azure Repos).For more information on the source control services, see Create a repo (GitHub), Create a repo (BitBucket), or Create a new Git repo (Azure Repos).

Deponuzu hazırlamaPrepare your repository

Azure App Service Kudu derleme sunucusundan otomatik derlemeler almak için depo kökünüzde projenize doğru dosya olduğundan emin olun.To get automatic builds from Azure App Service Kudu build server, make sure that your repository root has the correct files in your project.

Çalışma ZamanıRuntime Kök dizin dosyalarıRoot directory files
ASP.NET (yalnızca Windows)ASP.NET (Windows only) *.sln, *.csproj, veya default.aspx*.sln, *.csproj, or default.aspx
ASP.NET CoreASP.NET Core *.sln veya *.csproj*.sln or *.csproj
PHPPHP index.phpindex.php
Ruby (yalnızca Linux)Ruby (Linux only) GemfileGemfile
Node.jsNode.js Server.js, app.js, veya package.json bir başlangıç betiği ileserver.js, app.js, or package.json with a start script
PythonPython *.PY, requirements.txt, veya runtime.txt*.py, requirements.txt, or runtime.txt
HTMLHTML default.htm, default.html, default.asp, index.htm, index.html, veya iisstart.htmdefault.htm, default.html, default.asp, index.htm, index.html, or iisstart.htm
WebJobsWebJobs <job_name > / çalıştırın. <uzantısı > altında uygulama_veri/iş/continuous sürekli WebJobs için veya uygulama_veri/iş/triggered tetiklenen için Web işleri.<job_name>/run.<extension> under App_Data/jobs/continuous for continuous WebJobs, or App_Data/jobs/triggered for triggered WebJobs. Daha fazla bilgi için Kudu Web işleri belgeleri.For more information, see Kudu WebJobs documentation.
İşlevlerFunctions Bkz: Azure işlevleri için sürekli dağıtım.See Continuous deployment for Azure Functions.

Dağıtımınızı özelleştirmek için dahil bir .deployment depo köküne dosya.To customize your deployment, include a .deployment file in the repository root. Daha fazla bilgi için dağıtımlarını özelleştirme ve özel dağıtım betiği.For more information, see Customize deployments and Custom deployment script.

Not

Visual Studio'da oluşturursanız, izin Visual Studio sizin için bir depo oluşturma.If you develop in Visual Studio, let Visual Studio create a repository for you. Projeyi hemen Git kullanarak dağıtılmaya hazırdır.The project is immediately ready to be deployed by using Git.

Azure App Service yetkilendirAuthorize Azure App Service

Azure Repos kullanmak için Azure DevOps kuruluşunuzun Azure aboneliğinize bağlı olduğundan emin olun.To use Azure Repos, make sure your Azure DevOps organization is linked to your Azure subscription. Daha fazla bilgi için bkz. bir Azure DevOps Services hesabını bir Web uygulamasına dağıtabilmesi Için ayarlama.For more information, see Set up an Azure DevOps Services account so it can deploy to a web app.

Bitbucket veya GitHub için Azure App Service, deponuza bağlanmak üzere yetkilendirin.For Bitbucket or GitHub, authorize Azure App Service to connect to your repository. Yalnızca bir kaynak denetim hizmetiyle bir kez yetkilendirme yapmanız gerekir.You only need to authorize with a source control service once.

  1. Azure Portal sol gezinti bölmesinde uygulama hizmetleri ' ni seçin ve ardından dağıtmak istediğiniz Web uygulamasını seçin.Select App Services in the Azure portal left navigation, and then select the web app you want to deploy.

  2. Uygulama sayfasında, sol taraftaki menüden Dağıtım Merkezi ' ni seçin.On the app page, select Deployment Center in the left menu.

  3. Dağıtım Merkezi sayfasında GitHub veya Bitbucket' ı seçin ve ardından Yetkilendir' i seçin.On the Deployment Center page, select GitHub or Bitbucket, and then select Authorize.

    Kaynak denetimi hizmeti ' ni seçin, sonra Yetkilendir ' i seçin.

  4. Gerekirse hizmette oturum açın ve yetkilendirme istemlerini izleyin.Sign in to the service if necessary, and follow the authorization prompts.

Sürekli dağıtımı etkinleştirEnable continuous deployment

Bir kaynak denetim hizmetine yetki verdikten sonra, uygulamanızı yerleşik kudu App Service derleme sunucusuaracılığıyla veya Azure Pipelinesaracılığıyla sürekli dağıtım için yapılandırın.After you authorize a source control service, configure your app for continuous deployment through the built-in Kudu App Service build server, or through Azure Pipelines.

Seçenek 1: App Service derleme hizmetini kullanınOption 1: Use the App Service build service

Yerleşik kudu App Service derleme sunucusunu, GitHub, Bitbucket veya Azure Repos sürekli olarak dağıtmak için kullanabilirsiniz.You can use the built-in Kudu App Service build server to continuously deploy from GitHub, Bitbucket, or Azure Repos.

  1. Azure Portal sol gezinti bölmesinde uygulama hizmetleri ' ni seçin ve ardından dağıtmak istediğiniz Web uygulamasını seçin.Select App Services in the Azure portal left navigation, and then select the web app you want to deploy.

  2. Uygulama sayfasında, sol taraftaki menüden Dağıtım Merkezi ' ni seçin.On the app page, select Deployment Center in the left menu.

  3. Dağıtım Merkezi sayfasında yetkili Kaynak denetimi sağlayıcınızı seçin ve devam' ı seçin.Select your authorized source control provider on the Deployment Center page, and select Continue. GitHub veya Bitbucket için, yetkili hesabı değiştirmek üzere hesabı Değiştir ' i de seçebilirsiniz.For GitHub or Bitbucket, you can also select Change account to change the authorized account.

    Not

    Azure Repos kullanmak için Azure DevOps Services kuruluşunuzun Azure aboneliğinize bağlı olduğundan emin olun.To use Azure Repos, make sure your Azure DevOps Services organization is linked to your Azure subscription. Daha fazla bilgi için bkz. bir Azure DevOps Services hesabını bir Web uygulamasına dağıtabilmesi Için ayarlama.For more information, see Set up an Azure DevOps Services account so it can deploy to a web app.

  4. GitHub veya Azure Repos için, Yapı sağlayıcısı sayfasında App Service derleme hizmeti' ni seçin ve ardından devam' ı seçin.For GitHub or Azure Repos, on the Build provider page, select App Service build service, and then select Continue. Bitbucket her zaman App Service derleme hizmetini kullanır.Bitbucket always uses the App Service build service.

    App Service Build Service ' i seçin ve ardından devam ' ı seçin.

  5. Yapılandır sayfasında:On the Configure page:

    • GitHub için, aşağı açılan ve sürekli dağıtmak istediğiniz kuruluş, Depove dalı seçin.For GitHub, drop down and select the Organization, Repository, and Branch you want to deploy continuously.

      Not

      Herhangi bir depo görmüyorsanız, GitHub 'da Azure App Service yetkilendirmeniz gerekebilir.If you don't see any repositories, you may need to authorize Azure App Service in GitHub. GitHub deponuza gidin ve Ayarlar > uygulamalar > yetkili OAuth uygulamalar' a gidin.Browse to your GitHub repository and go to Settings > Applications > Authorized OAuth Apps. Azure App Service' yi seçin ve ardından ver' i seçin.Select Azure App Service, and then select Grant.

    • Bitbucket için, sürekli olarak dağıtmak istediğiniz Bitbucket ekibini, deposunuve dalını seçin.For Bitbucket, select the Bitbucket Team, Repository, and Branch you want to deploy continuously.

    • Azure Repos için, sürekli olarak dağıtmak istediğiniz Azure DevOps organizasyonu, Proje, Depove dalı seçin.For Azure Repos, select the Azure DevOps Organization, Project, Repository, and Branch you want to deploy continuously.

      Not

      Azure DevOps kuruluşunuz listede yoksa Azure aboneliğinize bağlı olduğundan emin olun.If your Azure DevOps organization isn't listed, make sure it's linked to your Azure subscription. Daha fazla bilgi için bkz. bir Azure DevOps Services hesabını bir Web uygulamasına dağıtmak Için ayarlama.For more information, see Set up an Azure DevOps Services account so it can deploy to a web app..

  6. Seçin devam.Select Continue.

    Depo bilgilerini doldurup devam ' ı seçin.

  7. Yapı sağlayıcısını yapılandırdıktan sonra, Özet sayfasındaki ayarları gözden geçirin ve ardından son' u seçin.After you configure the build provider, review the settings on the Summary page, and then select Finish.

    Seçili depodaki ve daldaki yeni işlemeler artık App Service uygulamanıza sürekli olarak dağıtılır.New commits in the selected repository and branch now deploy continuously into your App Service app. Yürütmeleri ve dağıtımları Dağıtım Merkezi sayfasında izleyebilirsiniz.You can track the commits and deployments on the Deployment Center page.

    Dağıtım Merkezi 'nde işlemeleri ve dağıtımları izleme

Seçenek 2: Azure Pipelines'ı kullanınOption 2: Use Azure Pipelines

Hesabınız gerekli izinlere sahipse, GitHub veya Azure Repos depolarından sürekli olarak dağıtmak için Azure Pipelines ayarlayabilirsiniz.If your account has the necessary permissions, you can set up Azure Pipelines to continuously deploy from GitHub or Azure Repos repositories. Azure Pipelines aracılığıyla dağıtma hakkında daha fazla bilgi için bkz. Azure App Services 'a Web uygulaması dağıtma.For more information about deploying through Azure Pipelines, see Deploy a web app to Azure App Services.

Azure App Service Azure DevOps kuruluşunuzda sürekli teslim Azure Pipelines oluşturmak için:For Azure App Service to create continuous delivery Azure Pipelines in your Azure DevOps organization:

  • Azure hesabınızın Azure Active Directory yazma ve hizmet oluşturma izinlerine sahip olması gerekir.Your Azure account must have permissions to write to Azure Active Directory and create a service.

  • Azure hesabınızın, Azure aboneliğinizde sahip rolü olmalıdır.Your Azure account must have the Owner role in your Azure subscription.

  • Kullanmak istediğiniz Azure DevOps projesinde bir yönetici olmanız gerekir.You must be an administrator in the Azure DevOps project you want to use.

Azure Pipelines yapılandırmak için (Önizleme):To configure Azure Pipelines (Preview):

  1. Azure Portal sol gezinti bölmesinde uygulama hizmetleri ' ni seçin ve ardından dağıtmak istediğiniz Web uygulamasını seçin.Select App Services in the Azure portal left navigation, and then select the web app you want to deploy.

  2. Uygulama sayfasında, sol taraftaki menüden Dağıtım Merkezi ' ni seçin.On the app page, select Deployment Center in the left menu.

  3. Yapı sağlayıcısı sayfasında Azure Pipelines (Önizleme) öğesini seçin ve ardından devam' ı seçin.On the Build provider page, select Azure Pipelines (Preview), and then select Continue.

  4. Yapılandırma sayfasında, kod bölümünde:On the Configure page, in the Code section:

    • GitHub için, aşağı açılan ve sürekli dağıtmak istediğiniz kuruluş, Depove dalı seçin.For GitHub, drop down and select the Organization, Repository, and Branch you want to deploy continuously.

      Not

      Herhangi bir depo görmüyorsanız, GitHub 'da Azure App Service yetkilendirmeniz gerekebilir.If you don't see any repositories, you may need to authorize Azure App Service in GitHub. GitHub deponuza gidin ve Ayarlar > uygulamalar > yetkili OAuth uygulamalar' a gidin.Browse to your GitHub repository and go to Settings > Applications > Authorized OAuth Apps. Azure App Service' yi seçin ve ardından ver' i seçin.Select Azure App Service, and then select Grant.

    • Azure Repos için, sürekli olarak dağıtmak istediğiniz Azure DevOps organizasyonu, Proje, Depove dalı seçin ya da yeni bir Azure DevOps organizasyonu yapılandırın.For Azure Repos, select the Azure DevOps Organization, Project, Repository, and Branch you want to deploy continuously, or configure a new Azure DevOps organization.

      Not

      Mevcut Azure DevOps kuruluşunuz listede yoksa Azure aboneliğinize bağlamanız gerekebilir.If your existing Azure DevOps organization isn't listed, you may need to link it to your Azure subscription. Daha fazla bilgi için bkz. CD yayın işlem hattınızı tanımlama.For more information, see Define your CD release pipeline.

  5. Seçin devam.Select Continue.

  6. Azure Repos için, Yapı bölümünde, Azure Pipelines derleme görevlerini çalıştırmak için kullanması gereken dil çerçevesini belirtin ve ardından devam' ı seçin.For Azure Repos, in the Build section, specify the language framework that Azure Pipelines should use to run build tasks, and then select Continue.

  7. Test sayfasında, yük testlerini etkinleştirip etkinleştirmeyeceğinizi seçin ve ardından devam' ı seçin.On the Test page, choose whether to enable load tests, and then select Continue.

  8. App Service planı fiyatlandırma katmanınızabağlı olarak, hazırlama sayfasına dağıt sayfasına bakabilirsiniz.Depending on your App Service plan pricing tier, you may see a Deploy to staging page. Dağıtım yuvalarınınetkinleştirilip etkinleştirilmeyeceğini seçin ve ardından devam' ı seçin.Choose whether to enable deployment slots, and then select Continue.

    Not

    Azure Pipelines üretim yuvasına sürekli teslime izin vermez.Azure Pipelines doesn't allow continuous delivery to the production slot. Bu kısıtlama üretime yönelik yanlışlıkla dağıtımları önler.This restriction prevents accidental deployments to production. Hazırlama yuvasına sürekli teslim ayarlayın, değişiklikleri doğrulayın ve ardından, varsa yuvaları değiştirin.Set up continuous delivery to a staging slot, verify the changes there, and then swap the slots when you are ready.

  9. Yapı sağlayıcısını yapılandırdıktan sonra, Özet sayfasındaki ayarları gözden geçirin ve ardından son' u seçin.After you configure the build provider, review the settings on the Summary page, and then select Finish.

    Seçili depodaki ve daldaki yeni işlemeler artık App Service uygulamanıza sürekli olarak dağıtılır.New commits in the selected repository and branch now deploy continuously into your App Service app. Yürütmeleri ve dağıtımları Dağıtım Merkezi sayfasında izleyebilirsiniz.You can track the commits and deployments on the Deployment Center page.

    Dağıtım Merkezi 'nde işlemeleri ve dağıtımları izleme

Sürekli dağıtımı devre dışı bırakDisable continuous deployment

Sürekli dağıtımı devre dışı bırakmak için uygulamanızın Dağıtım Merkezi sayfasının en üstündeki bağlantıyı kes ' i seçin.To disable continuous deployment, select Disconnect at the top of your app's Deployment Center page.

Sürekli dağıtımı devre dışı bırak

Dağıtım sırasında uygulamama ne?What happens to my app during deployment?

Resmi olarak desteklenen dağıtım yöntemlerini tüm dosyalarda değişiklik /home/site/wwwroot uygulamanızın klasör.All the officially supported deployment methods make changes to the files in the /home/site/wwwroot folder of your app. Bu dosyalar, üretimde çalışan aynıdır.These files are the same ones that are run in production. Bu nedenle, dağıtımı kilitli dosyalar nedeniyle başarısız olabilir.Therefore, the deployment can fail because of locked files. Tüm dosyalar aynı anda güncelleştirilmediğinden üretim uygulamasında da dağıtım sırasında davranmasına neden olabilecek.The app in production may also behave unpredictably during deployment, because not all the files updated at the same time. Bu sorunlarla karşılaşmamak için birkaç farklı yolu vardır:There are a few different ways to avoid these issues:

Desteklenmeyen depoları kullanUse unsupported repos

Windows uygulamaları için, GitLabgibi portalın doğrudan desteklemediği bir bulut git veya Mecurial deposundan sürekli dağıtımı el ile yapılandırabilirsiniz.For Windows apps, you can manually configure continuous deployment from a cloud Git or Mecurial repository that the portal doesn't directly support, such as GitLab. Bunu, Dağıtım Merkezi sayfasındaki dış kutusunu seçerek yapabilirsiniz.You do it by choosing the External box in the Deployment Center page. Daha fazla bilgi için bkz. el ile adımları kullanarak sürekli dağıtımı ayarlama.For more information, see Set up continuous deployment using manual steps.

Ek kaynaklarAdditional resources