Aracılığıyla paylaş


Azure Pipelines kullanan MicroProfile uygulamaları için CI/CD

Bu öğreticide Azure Kapsayıcılar için Web App’e MicroProfile Java EE uygulamanızı dağıtmak üzere Azure Pipelines sürekli tümleştirme ve sürekli dağıtım (CI/CD) sürüm döngüsünü nasıl kolayca yapılandırabileceğiniz gösterilir. Bu öğreticideki MicroProfile uygulaması WAR dosyasını oluşturmak için Payara Micro temel görüntüsünü kullanır.

FROM payara/micro:5.182
COPY target/*.war $DEPLOY_DIR/ROOT.war
EXPOSE 8080

Azure Pipelines kapsayıcılı hale getirme işlemine başlangıç olarak bir Docker görüntüsü oluşturun ve kapsayıcı görüntüsünü Azure Container Registry’ye (ACR) gönderin. İşlemi bir Azure Pipelines sürüm işlem hattı oluşturarak ve kapsayıcı görüntüsünü web uygulamasına dağıtarak tamamlarsınız.

Önkoşullar

  1. Azure portalında bir Azure Container Registry oluşturun.

  2. Azure portalında bir Azure Kapsayıcılar için Web App oluşturun. İşletim Sistemi olarak Linux ve Kapsayıcıyı yapılandır için Görüntü kaynağı olarakHızlı Başlangıç seçin.

  3. https://github.com/Azure-Samples/microprofile-hello-azure konumundaki örnek GitHub deposundan kopya URL’sini kopyalayın ve kaydedin.

  4. Azure DevOps kuruluşunuzda kaydolun veya oturum açın ve yeni proje oluşturun.

  5. Örnek GitHub deposunu Azure Repos’a içeri aktarın:

    1. Azure DevOps proje sayfanızın sol gezintisinde Repos’u seçin.
    2. Veya depoyu içeri aktarın alanında İçeri Aktar’ı seçin.
    3. Kopya URL’si alanında, kaydettiğiniz Git kopya URL’sini girin ve İçeri Aktar’ı seçin.

Derleme işlem hattı oluşturma

Azure Pipelines’daki sürekli tümleştirme Derleme işlem hattı, Java EE kaynak uygulamasında her yürütme işlemi olduğunda tüm derleme görevleri otomatik olarak yürütülür. Bu örnekte Azure Pipelines Java MicroProfile projesi oluşturmak için Maven kullanır.

  1. Azure DevOps proje sayfanızın sol gezintisinde İşlem Hatları>Derlemeler’i seçin.

  2. Yeni İşlem Hattı’nı seçin.

  3. YAML olmadan işlem hattı oluşturmak için klasik düzenleyiciyi kullan’ı seçin.

  4. Proje adınızın ve içeri aktarılan GitHub deposunun alanlarda gösterildiğinden emin olun ve Devam’ı seçin.

  5. Şablon listesinden Maven’i seçin ve sonra da Uygula’yı seçin.

  6. Sağ bölmedeki Aracı havuzu açılan listesinde Hosted Ubuntu 1604’ün gösterildiğinden emin olun.

    Not

    Bu ayar Azure Pipelines’ın hangi derleme sunucusunu kullanacağını bilmesini sağlar. Kendi özelleştirilmiş derleme sunucunuzu da kullanabilirsiniz.

  7. İşlem hattını sürekli tümleştirmeyle yapılandırmak için sol bölmede Tetikleyiciler’i seçin ve sonra da Sürekli tümleştirmeyi etkinleştir’in yanındaki onay kutusunu seçin.

  8. Sayfanın üst kısmında Kaydet ve kuyruğa al’ın yanındaki açılan listeyi seçin ve sonra da Kaydet’i seçin.

    Sürekli tümleştirmeyi etkinleştirme

Docker derleme görüntüsü oluşturma

Azure Pipelines bir Docker görüntüsü oluşturmak için Payara Micro’dan bir temel görüntüyle Dockerfile kullanır.

  1. Görevler sekmesini seçin, sonra da Aracı işi 1 sekmesinin yanındaki artı işaretini + seçerek bir görev ekleyin.

    Yeni görev ekleme

  2. Sağ bölmede, şablon listesinden Docker’i ve sonra da Ekle’yi seçin.

  3. Sol bölmede buildAndPush öğesini seçin ve sağ bölmedeki Görünen ad alanına bir açıklama girin.

  4. Kapsayıcı Deposu’nun altında, Container Registry alanının yanında Yeni’yi seçin.

  5. Docker Registry hizmet bağlantısı ekle iletişim kutusunu aşağıda gösterildiği gibi doldurun:

    Alan Değer
    Kayıt defteri türü Azure Container Registry’yi seçin.
    Bağlantı Adı Bağlantı için bir ad girin.
    Azure Aboneliği Açılan listeden Azure aboneliğinizi seçin ve gerekirse Yetkilendir’i seçin.
    Azure container registry Açılan listeden Azure Container Registry adınızı seçin.
  6. Tamam'ı seçin.

    Docker Registry hizmeti bağlantısı ekle

    Not

    Docker Hub veya başka bir kayıt defteri kullanıyorsanız, Kayıt defteri türü’nün yanında Azure Container Registry yerine Docker Hub veya Diğerleri’ni seçin. Sonra kapsayıcı kayıt defteriniz için kimlik bilgilerini ve bağlantı bilgilerini sağlayın.

  7. Komutlar’ın altında, Komut açılan listesinden build komutunu seçin.

  8. Dockerfile alanının yanındaki üç noktayı ... seçin ve GitHub deponuzda Dockerfile öğesini bulup seçin, sonra da Tamam’ı seçin.

    Dockerfile dosyasını seçme

  9. Etiketler’in altında yeni bir satıra latest girin.

  10. Sayfanın üst kısmında Kaydet ve kuyruğa al’ın yanındaki açılan listeyi seçin ve sonra da Kaydet’i seçin.

Docker görüntüsünü ACR’ye gönderme

Azure Pipelines Docker görüntüsünü Azure Container Registry’nize gönderir ve bunu kullanarak MicroProfile API’si uygulamasını kapsayıcılı hale getirilmiş bir Java web uygulaması olarak çalıştırır.

  1. Azure Pipelines’da Docker kullandığınızdan, Docker derleme görüntüsü oluşturma başlığı altındaki adımları tekrarlayarak bir Docker şablonu daha oluşturun. Bu kez Komut açılan listesinde push komutunu seçin.

  2. Kaydet ve kuyruğa al’ın yanındaki açılan listeyi seçin ve sonra da Kaydet ve kuyruğa al’ı seçin.

  3. İşlem hattını çalıştır açılan kutusunda, Aracı havuzu’nun altında Hosted Ubuntu 1604 öğesinin seçili olduğundan emin olun ve Kaydet ve çalıştır’ı seçin.

  4. Derleme bittikten sonra Derleme sayfasındaki köprüyü seçerek derlemenin başarılı olduğunu doğrulayabilir ve diğer ayrıntıları görebilirsiniz.

    Derleme köprüsünü seçme

Yayın işlem hattı oluşturma

Derleme başarılı olduğu anda Azure Pipelines sürekli Sürüm işlem hattı Azure gibi bir hedef ortama dağıtımı otomatik olarak tetikler. Geliştirme, test, hazırlama veya üretim gibi ortamlar için sürüm işlem hatları oluşturabilirsiniz.

  1. Azure DevOps proje sayfanızın sol gezintisinde İşlem Hatları>Sürümler’i seçin.

  2. Yeni İşlem Hattı’nı seçin.

  3. Şablon listesinde Azure App Service’e Java uygulaması dağıtma’yı seçin ve sonra da Uygula’yı seçin.

    Azure App Service'e Java uygulaması dağıtma şablonunu seçme

  4. Açılan pencerede Aşama 1 ifadesini Geliştirme, Test, Hazırlama veya Üretim gibi bir aşama adıyla değiştirin ve sonra da pencereyi kapatın.

  5. Sol bölmedeki Yapıtlar’ın altında Ekle’yi seçerek derleme işlem hattındaki yapıtları sürüm işlem hattına bağlayın.

  6. Sağ bölmede, Kaynak (derleme işlem hattı) altında derleme işlem hattınızı seçin ve sonra da Ekle’yi seçin.

    Derleme yapıtı ekleme

  7. Üretim aşamasında Aşama görevlerini görüntüleme köprüsünü seçin.

    Aşama adını seçme

  8. Sağ bölmede, formu aşağıda gösterildiği gibi doldurun:

    Alan Değer
    Azure Aboneliği Açılan listeden Azure aboneliğinizi seçin.
    Uygulama türü Açılan listeden Kapsayıcılar için Web App (Linux) öğesini seçin.
    App Service adı Açılan listeden ACR örneğinizi seçin.
    Kayıt Defteri veya Ad Alanları Alana ACR adınızı girin. Örneğin mymicroprofileregistry.azure.io girin.
    Depo Docker görüntünüzü içeren depoyu girin.

    Aşama görevlerini yapılandırma

  9. Sol bölmede Azure App Service’e War Dağıt’ı seçin ve sağ bölmede Etiket alanına latest etiketini girin.

  10. Sol bölmede Aracıda çalıştır’ı ve sağ bölmede Aracı havuzu açılan listesinde Hosted Ubuntu 1604 öğesini seçin.

Ortam değişkenlerini ayarlama

Dağıtım sırasında kapsayıcı kayıt defterine bağlanmak için ortam değişkenlerini ekleyin ve tanımlayın.

  1. Değişkenler sekmesini seçin ve sonra da Ekle’yi seçerek kapsayıcı kayıt defteri URL’niz, kullanıcı adınız ve parolanız için aşağıdaki değişkenleri ekleyin.

    Veri Akışı Adı Değer
    registry.url Kapsayıcı kayıt defteri URL’nizi girin. Örneğin: https://mymicroprofileregistry.azure.io
    registry.username Kayıt defteri için kullanıcı adını girin.
    registry.password Kayıt defteri için parolayı girin. Güvenlik için, kilit simgesini seçerek parola değerini gizli tutun.

    Değişken ekleme

  2. Görevler sekmesinde, sol bölmedeki Azure App Service için War Dağıt’ı seçin.

  3. Sağ bölmede Uygulama ve Yapılandırma Ayarları’nı genişletin ve ardından Uygulama Ayarları alanının yanındaki üç noktayı ... seçin.

  4. Uygulama ayarları açılan listesinde Ekle’yi seçerek uygulama ayarı değişkenlerini tanımlayın ve atayın:

    Veri Akışı Adı Değer
    DOCKER_REGISTRY_SERVER_URL $(kayıt.defteri.url)
    DOCKER_REGISTRY_SERVER_USERNAME $(kayıt.defteri.kullanıcı.adı)
    DOCKER_REGISTRY_SERVER_PASSWORD $(kayıt.defteri.parola)
  5. Tamam'ı seçin.

    Değişkenleri ekleme ve ayarlama

Sürekli dağıtımı ayarlama

Sürekli dağıtımı etkinleştirmek için:

  1. İşlem Hattı sekmesindeki Yapıtlar’ın altında, derleme yapıtındaki şimşek simgesini seçin.

  2. Sağ bölmede Sürekli dağıtım tetikleyicisi’ni Etkin olarak ayarlayın.

  3. Sağ üst kısımda Kaydet’i ve sonra yeniden Kaydet’i seçin.

    Sürekli dağıtım tetikleyicisini etkinleştirme

Java uygulamasını dağıtma

Artık CI/CD’yi etkinleştirdiğinize göre, kaynak kodun değiştirilmesi derlemeleri ve sürümleri otomatik olarak oluşturur ve çalıştırır. Ayrıca sürümleri aşağıda gösterildiği gibi el ile oluşturabilir ve çalıştırabilirsiniz:

  1. Sürüm işlem hattı sayfasının sağ üst kısmında Yayın oluştur’u seçin.

  2. Yeni yayın oluştur sayfasında, Tetikleyiciyi otomatikten el ile moduna geçirme aşamaları’nın altındaki aşama adını seçin.

  3. Oluştur'u belirleyin.

  4. Sürüm adını seçin, aşamanın üzerine gelin veya aşamayı seçin ve sonra da Dağıt’ı seçin.

Java web uygulamasını test etme

Dağıtım başarıyla tamamlandıktan sonra web uygulamanızı test edin.

  1. Azure portalından web uygulaması URL’sini kopyalayın.

    Azure portalında App Service uygulaması

  2. Uygulamanızı çalıştırmak için web tarayıcınıza URL’yi girin. Web sayfasında Hello Azure! metni görüntülenmelidir

    Java web uygulaması sayfası