Azure Spring Cloud'de hazırlama ortamı ayarlama

Bu makale şu için geçerlidir: ✔️ Java

Bu makalede, kümede mavi-yeşil dağıtım deseni kullanılarak hazırlama dağıtımının nasıl ayar Azure Spring Cloud. Mavi-yeşil dağıtım, Azure DevOps (yeşil) sürümün dağıtılması sırasında mevcut (mavi) sürümü canlı tutmanın dayandırılacağı bir sürekli teslim modelidir. Bu makalede, üretim dağıtımını değiştirmeden bu hazırlama dağıtımını üretime nasıl koyabilirsiniz?

Önkoşullar

Bu makalede Spring Initializr'dan yerleşik bir uygulama lanmıştır. Bu örnek için farklı bir uygulama kullanmak istemeniz, hazırlama dağıtımınızı üretimden ayırt etmek için uygulamanın genele yönelik bir bölümünde basit bir değişiklik yapmak gerekir.

İpucu

Azure Cloud Shell, bu makaledeki yönergeleri çalıştırmak için kullanabileceğiniz ücretsiz bir etkileşimli kabuk. Git, JDK, Maven ve Azure CLI'nın en son sürümleri de dahil olmak üzere yaygın olarak önceden yüklenmiş Azure araçları vardır. Azure aboneliğinde oturum kullandıysanız azure aboneliğinizi Cloud Shell. Daha fazla bilgi edinmek için bkz. Azure Cloud Shell.

Bir sonraki bölümlerde mavi-yeşil Azure Spring Cloud ayarlamak için sonraki bölümlerde yer alan yönergeleri izleyin.

Azure CLI uzantısını yükleme

Aşağıdaki Azure Spring Cloud kullanarak Azure CLI'nın Azure Spring Cloud uzantısını yükleyin:

az extension add --name spring-cloud

Uygulamayı ve dağıtımları hazırlama

Uygulamayı derlemek için şu adımları izleyin:

  1. Spring Initializr'ı bu yapılandırmayla kullanarak örnek uygulamanın kodunu üretin.

  2. Kodu indirin.

  3. Aşağıdaki HelloController.java kaynak dosyasını *\src\main\java\com\example\hellospring klasörüne * ekleyin:

    package com.example.hellospring;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @RestController
    
    public class HelloController {
    
    @RequestMapping("/")
    
      public String index() {
          return "Greetings from Azure Spring Cloud!";
      }
    
    }
    
  4. .jar dosyasını derleme:

    mvn clean package -DskipTests
    
  5. Uygulamayı Azure Spring Cloud oluşturun:

    az spring-cloud app create -n demo -g <resourceGroup> -s <Azure Spring Cloud instance> --assign-endpoint
    
  6. Uygulamayı şu Azure Spring Cloud:

    az spring-cloud app deploy -n demo -g <resourceGroup> -s <Azure Spring Cloud instance> --jar-path target\hellospring-0.0.1-SNAPSHOT.jar
    
  7. Hazırlama dağıtımınız için kodu değiştirme:

    package com.example.hellospring;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @RestController
    
    public class HelloController {
    
    @RequestMapping("/")
    
      public String index() {
          return "Greetings from Azure Spring Cloud! THIS IS THE GREEN DEPLOYMENT";
      }
    
    }
    
  8. .jar dosyasını yeniden oluşturma:

    mvn clean package -DskipTests
    
  9. Yeşil dağıtımı oluşturun:

    az spring-cloud app deployment create -n green --app demo -g <resourceGroup> -s <Azure Spring Cloud instance> --jar-path target\hellospring-0.0.1-SNAPSHOT.jar
    

Uygulamaları ve dağıtımları görüntüleme

Aşağıdaki yordamı kullanarak dağıtılan uygulamaları görüntüleme:

  1. Uygulamanın Azure Spring Cloud örneğinize Azure portal.

  2. Hizmet örneğinin uygulamalarını görüntülemek için sol bölmeden Uygulamalar bölmesini açın.

    Uygulamalar bölmesinin açılmasının ekran görüntüsü.

  3. Bir uygulama seçerek ayrıntıları görüntüebilirsiniz.

    Bir uygulamanın ayrıntılarının ekran görüntüsü.

  4. Uygulamanın tüm dağıtımlarını görmek için Dağıtımlar'a bakın. Kılavuz hem üretim hem de hazırlama dağıtımlarını gösterir.

    Listelenen uygulama dağıtımlarını gösteren ekran görüntüsü.

  5. Şu anda dağıtılmış olan uygulamayı açmak için URL'yi seçin.

    Dağıtılan uygulamanın U R L'lerini gösteren ekran görüntüsü.

  6. Varsayılan uygulamayı görmek için State sütununda Üretim'i seçin.

    Varsayılan uygulamanın U R L'lerini gösteren ekran görüntüsü.

  7. Hazırlama uygulamasını görmek için State sütununda Hazırlama'ya tıklayın.

    Hazırlama uygulaması için U R L'yi gösteren ekran görüntüsü.

İpucu

  • CSS dosyasının doğru yüklendiğinden emin olmak için test uç noktanız eğik çizgi (/) ile sona erer.
  • Tarayıcınız sayfayı görüntülemek için oturum açma kimlik bilgilerini girmenizi gerektiriyorsa, test uç noktanızı kodunu çözmek için URL kod çözmeyi kullanın. URL kod çözme, şu biçimde bir URL <username> https://: <password> @ <cluster-name> .test.azureapps.io/gateway/green. Uç noktanıza erişmek için bu biçimi kullanın.

Not

Yapılandırma sunucusu ayarları hem hazırlama ortamınıza hem de üretim ortamınıza uygulanır. Örneğin, yapılandırma sunucusundaki uygulama ağ geçidiniz için bağlam yolunu (server.servlet.context-path) bazı yol olarak ayarlarsanız yeşil dağıtım yolunuz <username> https://: <password> @ <cluster-name> .test.azureapps.io/gateway/green/somepath/... olarak değişir.

Bu noktada genel uygulamaya yönelik uygulama ağ geçidinizi ziyaret ediyorsanız, yeni değişikliğiniz olmadan eski sayfayı görüyorsanız.

Yeşil dağıtımı üretim ortamı olarak ayarlama

  1. Hazırlama ortamınıza değişikliğinizi doğruladıktan sonra üretim ortamına itin. Uygulama > Dağıtımları sayfasında şu anda Üretim'de olan uygulamayı seçin.

  2. Yeşil dağıtımın Kayıt durumu'nın ardından üç noktayı seçin ve ardından Üretim olarak ayarla'ya seçin.

    Hazırlama derlemesi üretime ayarlama seçimlerini gösteren ekran görüntüsü.

  3. Uygulamanın URL'sinde yaptığınız değişikliklerin görüntü olduğunu onaylayın.

    Artık üretimde olan uygulamanın U R L'lerini gösteren ekran görüntüsü.

Not

Yeşil dağıtımı üretim ortamı olarak ayardikten sonra, önceki dağıtım hazırlama dağıtımı olur.

Hazırlama dağıtımını değiştirme

Değişiklikten memnun değilseniz, uygulama kodunuzu değiştirebilir, yeni bir .jar paketi derlemeniz ve Azure CLI kullanarak bunu yeşil dağıtıma yükleyebilirsiniz:

az spring-cloud app deploy  -g <resource-group-name> -s <service-instance-name> -n gateway -d green --jar-path gateway.jar

Hazırlama dağıtımını silme

Hazırlama dağıtımınızı Azure portal için hazırlama dağıtımınıza gidin ve Sil düğmesini seçin.

Alternatif olarak, aşağıdaki komutu çalıştırarak hazırlama dağıtımınızı Azure CLI'dan silin:

az spring-cloud app deployment delete -n <staging-deployment-name> -g <resource-group-name> -s <service-instance-name> --app gateway

Sonraki adımlar