Alıştırma - Örnek Spring Boot uygulaması kurma

Tamamlandı

Bu alıştırmada Spring Boot örnek uygulamanızı derlemek ve dağıtmak için otomatik bir iş akışı kullanacaksınız.

Örnek uygulamayı dağıtmak için GitHub eylemi ayarlama

Azure kaynaklarınızı sağladığınıza göre örnek Spring Boot uygulamanızı dağıtabilirsiniz.

Maven GitHub iş akışınızı oluşturmak için, Azure App Service portalındaki Dağıtım Merkezi'nde bulunan yerleşik sürekli tümleştirme ve sürekli teslim (CI/CD) sihirbazı aracını kullanacaksınız.

Azure App Service Dağıtım Merkezi'nin ekran görüntüsü.

Azure App Service Dağıtım Merkezi, uygulama yığınınızı temel alan bir GitHub Actions iş akışı dosyasını otomatik olarak oluşturur. Ardından Dağıtım Merkezi, dosyayı doğru dizinde GitHub deponuza kaydeder. Dağıtım Merkezi, GitHub eyleminizi bir Azure App Service yayımlama profiline de bağlar.

  1. Azure portalında Azure App Service web uygulamanıza gidin.

  2. Sol bölmede Dağıtım'ı genişletin ve Dağıtım Merkezi'ni seçin.

  3. Kaynak açılan listesinde, Sürekli Dağıtım (CI/CD) altında GitHub'ı seçin.

  4. github actions seçin. (Varsayılan değer bu olmalıdır, ancak değilse sağlayıcı seçeneklerini yüklemek için Sağlayıcıyı değiştir seçin.)

  5. Ayarlar'ın altında, açılan listelerde aşağıdakileri yapın:

    a. GitHub deponuzu seçin.
    b. Dal için main'ı seçin.
    ç. Uygulama yığını için JAVA 8'i seçin.

  6. Son sayfada, seçimlerinizi gözden geçirin ve depoya işlenecek iş akışı dosyasının önizlemesini yapın.

  7. İş akışı dosyasını depoya kaydetmek için Kaydet'i seçin ve uygulamanızı derleyip dağıtmaya hemen başlayın.

    Not

    Ayrıca, Deponuzda GitHub Actions iş akışını tetikleyerek Eylemler sekmesini, derleme ve dağıtma iş akışını ve ardından İşleri yeniden çalıştır'ı seçebilirsiniz.

GitHub Actions derlemesini onayla

  1. GitHub deponuzda Eylemler sekmesini seçin ve ardından sol taraftaki Tüm İş Akışları'nın altında "JAR uygulaması derleme ve Azure Web App'e dağıtma" seçeneğini belirleyin.

  2. Ardından, sağ taraftaki tabloda, İş akışı çalıştırması altında Add or update the App Service deployment workflow configuration çalıştırmasını seçin.

  3. İş akışı çalıştırması tamamlanana kadar bekleyin, ardından çalışma akışının Dağıt işinde, Azure webapp URL'sini görüntüleyen URL'yi Dağıt işi altında kopyalayın.

  4. Son olarak, URL'yi bir tarayıcıda açın ve Java uygulamanızın dağıtıldığını, MySQL veritabanınıza bağlı olduğunu ve veri döndürdüğünü doğrulayın.

Sonraki adımlar

Tebrikler! Artık iki GitHub Actions iş akışınız var: sağlama eylemi ve derleme ve dağıtma eylemi.

Kodunuzu işlemek için her git push komutu girdiğinizde derleme ve dağıtma eyleminiz tetiklenip uygulamanız dağıtılır.

Önemli

GitHub eyleminizin sağlanmasını yeniden çalıştırmak, zaten varsa kaynaklarınızı yeniden oluşturmaz. Kaynak grubunuzu veya kaynaklarınızı el ile silmeniz ve ardından GitHub eylemini yeniden çalıştırmanız gerekir.

GitHub derleme ve dağıtma eyleminizi yeniden çalıştırmak uygulamanızın yerini alır.

App Service örneğinizi yeniden oluşturursanız, yeni yayımlama profiline de değiştirmeniz gerekir. Yalnızca aşağıdaki satırı değiştirmeniz gerekir:

publish-profile: ${{ secrets.AzureAppService_PublishProfile_c1ee8d191003493b9c9e13a9b78ad2c3 }}

Örnek uygulamayı dağıtmak için bir Azure Pipeline kurun.

Daha önce olduğu gibi, uygulamanızı derlemek ve dağıtmak için bir Azure Pipeline oluşturmanız gerekir.

Azure DevOps'ta Projenize gidin, "İşlem Hatları" seçeneğini belirleyin ve "Yeni İşlem Hattı" (Sağ üst köşe) seçeneğini belirleyin.

Şimdi İşlem Hattınızı ayarlamak için size dört sekme verilecektir:

  1. "Bağlan" sekmesinde "GitHub" (YAML dosyası) öğesini seçin.
  2. "Seç " sekmesinde Şablonunuzu içeren GitHub Deposunu seçin.
  3. "Yapılandır" sekmesinde bir "Mevcut Azure Pipelines YAML dosyası" kullanmayı seçin.
  4. Bu kez yolda "/azuredevops/build_deploy.yml" öğesini seçin
  5. Devam'ı seçerek "*Gözden Geçir" sekmesine gidin ve işlem hattınızı çalıştırmadan önce gözden geçirin.

İşlem hattınızı gözden geçirin YAML ekranında işlem hattınızı oluşturmak için kullanacağınız Yaml dosyasını inceleyin:

name: Build and Deploy

trigger:
- main

stages:

# Build your Spring Boot App using Maven
- stage: Build
  displayName: Build stage
  jobs:
  - job: MavenPackageAndPublishArtifacts
    displayName: Maven Package and Publish Artifacts
    pool:
      vmImage: 'ubuntu-latest'

    steps:
    - task: Maven@3
      displayName: 'Maven Package'
      inputs:
        mavenPomFile: 'pom.xml'

    - task: CopyFiles@2
      displayName: 'Copy Files to artifact staging directory'
      inputs:
        SourceFolder: '$(System.DefaultWorkingDirectory)'
        Contents: '**/target/*.?(war|jar)'
        TargetFolder: $(Build.ArtifactStagingDirectory)

    - upload: $(Build.ArtifactStagingDirectory)
      artifact: drop

# Deploy to Azure using the AzureWebApp task using your Service Connection
- stage: Deploy
  displayName: Deploy stage
  dependsOn: Build
  condition: succeeded()
  jobs:
  - deployment: DeployLinuxWebApp
    displayName: Deploy Linux Web App
    environment: 'production'
    pool:
      vmImage: 'ubuntu-latest'
    strategy:
      runOnce:
        deploy:
          steps:
          - task: AzureWebApp@1
            displayName: 'Azure Web App Deploy'
            inputs:
              azureSubscription: $(serviceConnection)
              appType: webAppLinux
              appName: '$(webAppName)'
              package: '$(Pipeline.Workspace)/drop/**/target/*.?(war|jar)'

"Derleme" yapılandırmasında kullandığımız bazı alanlara göz atalım:

  • azureSubscription : Azure aboneliğiniz
  • appType: Web App türünüz
  • appName: Mevcut app service'inizin adı
  • package: Paketin dosya yolu veya app service içeriğinizi içeren bir klasör

Derleme Değişkenleri Ekle

Sağlama işlem hattımızda olduğu gibi derleme ve dağıtma işlem hattını kaydedip çalıştırmadan önce işlem hattınızın değişkenlerini eklemeniz gerekir:

  1. Sağ üst kısımdaki Değişkenler'i seçin.
  2. Hizmet Bağlantınızın adı olarak değeriyle serviceConnection adlı bir değişken ekleyin.
  3. Değişkeni kaydetmek için sağ alt köşedeki Tamam'ı seçin.
  4. App Service adınızla webAppName adlı ikinci bir değişken ekleyin ("application_name" Terraform değişkeninizde tanımlanan değer).
  5. Değişkeni kaydetmek için Tamam'ı seçin.
  6. Her iki değişkeni de kaydetmek için sağ alt köşedeki Kaydet'i seçin.

Yeni değişkenleri gösteren ekran görüntüsü.

İşlem hattının çalışmasını izleyin

  1. İşlem hattını kaydetmek ve çalıştırmak için && seçin
  2. Sağlama işlem hattınızda yaptığınız gibi, aşamaların ve adımların her biri boyunca yapı sürecini takip edin.
  3. Java uygulamanızın dağıtıldığını, MySQL veritabanınıza bağlandığını ve veri döndürdüğünü doğrulayın.

Yeni Azure Pipeline çalışmasını gösteren ekran görüntüsü.

Sonraki adımlar

Tebrikler! Artık iki Azure Pipeline iş akışınız var: sağlama işlem hattı ve derleme ve dağıtma işlem hattı.

Kodunuzu git push dala işlemek için her komut girdiğinizde derleme ve dağıtma işlem hattınız tetiklenip uygulamanız dağıtılır.

Önemli

Sağlama İşlem Hattı'nın yeniden çalıştırılması, zaten varsa kaynaklarınızı yeniden oluşturmaz. Kaynak grubunuzu veya kaynaklarınızı el ile silmeniz ve ardından İşlem Hattı'nı yeniden çalıştırmanız gerekir. Bunu üretimde daha iyi başarma hakkında daha fazla bilgiyi Özet bölümünde bulabilirsiniz.

Derleme ve dağıtma İşlem Hattınızı yeniden çalıştırmak uygulamanızın yerini alır.

Sonraki ünite, bu modülde öğrendiklerini görmek için bir bilgi kontrolüdür.