Linux Sanal Makinesi'ne bir nginx web sunucusuna web uygulaması dağıtma

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Not

Uygulamanızı YAML kullanarak bir Linux sanal makinesine dağıtmak için bkz. Linux sanal makinesine dağıtma.

Uygulamalarınızı Ubuntu üzerinde çalışan bir nginx web sunucusuna sürekli olarak dağıtmayı ve Azure Pipelines. Sürekli tümleştirme işlem hattınız bir web dağıtım paketi yayımlarken bu hızlı başlangıçtaki adımları herhangi bir uygulama için kullanabilirsiniz.

Web uygulamaları için tipik bir yayın işlem hattı

Bir kod değişikliğini işledikten ve dağıttıktan sonra otomatik olarak oluşturulur ve ardından dağıtılır. Sonuçlar otomatik olarak sitenize açılır.

CI derleme işlem hattınızı tanımlama

Web uygulamanızı yayımlayan bir sürekli tümleştirme (CI) derleme işlem hattına ve Ubuntu sunucusunda yerel olarak çalıştırılabilir bir dağıtım betiğine ihtiyacınız vardır. Kullanmak istediğiniz çalışma zamanlarına göre bir CI derleme işlem hattı ayarlayın.

Dağıtmak istediğiniz bir uygulama GitHub zaten varsa, bu kod için bir işlem hattı oluşturabilirsiniz.

Yeni bir kullanıcıysanız, bu GitHub:

https://github.com/spring-guides/gs-spring-boot-docker.git

Linux'a dağıtmak için derleme oluşturmak için Maven ile Java uygulamanızı derleme konusunda belirtilen diğer adımları izleyin.

Linux VM önkoşulları

Yukarıdaki örnek depolarda kullanılan dağıtım betikleri Ubuntu 16.04'te test edilmiştir ve bu hızlı başlangıç için aynı Linux VM sürümünü kullanmanızı öneririz. Uygulama için kullanılan çalışma zamanı yığınına göre aşağıda açıklanan ek adımları izleyin.

  • Java Spring Boot Spring Cloud tabanlı uygulamalar dağıtmak için, tam olarak desteklenen OpenJDK tabanlı bir çalışma zamanı sağlayan bu şablonu kullanarak Azure'da bir Linux VM oluşturun.
  • Tomcat sunucusuna Java servlet'leri dağıtmak için bu Azure şablonunu kullanarak Java 8 ile bir Linux VM oluşturun ve Tomcat 9.x'i hizmet olarak yapılandırın.
  • Java EE tabanlı uygulama dağıtmak için Azure şablonu kullanarak Linux VM + Java + WebSphere 9.x ya da Linux VM + Java + WebLogic 12.x ya da Linux VM +Java + WildFly/JBoss 14 oluşturun

Dağıtım grubu oluşturma

Uygulamasındaki Azure Pipelines, uygulamalarınızı barındırmak için kullanmak istediğiniz sunucuları düzenlemeyi kolaylaştırır. Dağıtım grubu, her biri üzerinde bir Azure Pipelines aracısı olan bir makine koleksiyonudur. Her makine, Azure Pipelines dağıtımı koordine etmek için sanal makinelerle etkileşime geçmenizi sağlar.

  1. Linux VM'nize bir SSH oturumu açın. Bunu yapmak için Cloud Shell menüsünün sağ üst köşesindeki Azure portal.

    Azure portal Cloud Shell düğmesi

  2. Vm'nizin IP adresinin yerine aşağıdaki komutu yazarak oturumu başlatabilirsiniz:

    ssh <publicIpAddress>

    Daha fazla bilgi için bkz. VM'nize SSH ile.

  3. Şu komutu çalıştırın:

    sudo apt-get install -y libunwind8 libcurl3

    Bu komutun yüklemiş olduğu kitaplıklar, ubuntu 16.04 VM'sine derleme ve yayın aracılarını yüklemek için önkoşullar'dır. Diğer Linux sürümleri için önkoşullar burada bulunabilir.

  4. Web Azure Pipelines açın, Azure Pipelines 'a gidinve Dağıtım grupları'ı seçin.

  5. Dağıtım grubu Ekle'yi (veya mevcut dağıtım gruplarınız varsa Yeni'yi) seçin.

  6. Grup için myNginx gibi bir ad girin ve Oluştur'a seçin.

  7. Makineyi kaydetme bölümündeUbuntu 16.04+ 'ın seçili olduğundan ve kimlik doğrulaması için betikte kişisel erişim belirteci kullan'ın da işaretli olduğundan emin olun. Betiği panoya kopyala'yi seçin.

    Panoya kopyalanan betik, vm'de yeni web dağıtım paketlerini alabilecek ve bunları web sunucusuna uygulayabilecek şekilde bir aracı indirir ve yapılandırır.

  8. Sanal makinenize SSH oturumuna geri dönüp betiği yapıştırın ve çalıştırın.

  9. Aracı için etiketleri yapılandırmanız istendiğinde Enter tuşuna basın (herhangi bir etikete ihtiyacınız yoktur).

  10. Betiğin bitip Aracı ile Başlatıldı Azure Pipelines bekleyin. Dosya düzenleyicisinden çıkmak ve kabuk istemine dönmek için "q" yazın.

  11. Azure Pipelines veya TFS'ye geri dönüp Dağıtım grupları sayfasında myNginx dağıtım grubunu açın. Hedefler sekmesinde VM'nizin listelenmiş olduğunu doğrulayın.

CD yayın işlem hattınızı tanımlama

CD yayın işlem hattınız CI derlemeniz tarafından yayımlanan yapıtları alır ve nginx sunucularınıza dağıtır.

  1. Yayın işlem hattı oluşturmaya başlamak için aşağıdaki işlem hatlarından birini yapın:

    • Ci derlemesini tamamladıysanız, derlemenin Dağıtımlar altındaki Özet sekmesinde Yayın oluştur'u ve ardından Evet'iseçin. Bu işlem, derleme işlem hattına otomatik olarak bağlanan yeni bir yayın işlem hattı başlatır.

      Derleme özetini yeni bir yayın işlem hattı oluşturma

    • yayın işlem hatlarılistesinden Azure Pipelinessekmesini açın ve Yayın işlem hattı oluştur'a tıklayın.

      Sürümler sayfasında yeni yayın işlem hattı oluşturma

  2. Boş bir iş ile başlat'ı seçin.

  3. Derleme özetini yeni yayın işlem hattınızı oluşturduysanız, derleme işlem hattının ve yapıtların İşlem Hattı sekmesindeki Artifacts bölümünde gösterildiğini kontrol edin. Sürümler sekmesinden yeni bir yayın işlem hattı oluşturduysanız + Ekle bağlantısını seçin ve derleme yapıtını seçin.

    Derleme işlem hattını ve yapıtı denetleme veya seçme

  4. Artifacts bölümünde Sürekli dağıtım simgesini seçin, sürekli dağıtım tetikleyicisi'nin etkinleştirildiğinden ve ana dalı içeren bir filtre ekleyin.

    Sürekli dağıtım tetikleyicisini denetleme veya ayarlama

    Sürümler sekmesinden yeni bir yayın işlem hattı etkinleştirilmiş durumdayken sürekli dağıtım varsayılan olarak etkin değildir.

  5. Görevler sekmesini açın, Aracı işini seçin ve kaldır'ıseçerek bu işi kaldırın.

    İşlem hattından Aracı işini kaldırma

  6. 1. Aşama dağıtım işlem hattının yanındaki ... öğesini seçin ve Dağıtım grubu işi ekle'yi seçin.

    İşlem hattına Dağıtım grubu aşaması ekleme

  7. Dağıtım Grubu için,daha önce oluşturduğunuz myNginxgibi dağıtım grubunu seçin.

    Dağıtım grubunu seçme

    Bu işe ekley istediğiniz görevler, belirttiğiniz dağıtım grubunda yer alan makinelerin her biri üzerinde ecek.

  8. Dağıtım + grubu + ve görev kataloğunda bir Bash görevi için arama ve ekleme işlemi ekleyin.

    İşlem hattına Kabuk Betiği görevi ekleme

  9. Bash görevinin özelliklerinde Betik Yolu için Gözat düğmesini kullanarak derleme yapıt deploy.sh dosyasının yolunu seçin. Örneğin, nodejs-sample deposunu kullanarak uygulamanızı derlemek için betiğin konumu şu şekildedir:
    $(System.DefaultWorkingDirectory)/nodejs-sample/drop/deploy/deploy.sh.

    Kabuk Betiği görevini yapılandırma

    Bir web uygulaması deploy.sh örnek bir Node.js bakın.

  10. Yayın işlem hattını kaydedin.

    Yeni oluşturulan yayın işlem hattını kaydetme

Uygulamanızı dağıtmak için yayın oluşturma

Artık yayın oluşturmak için hazır olur ve bu da yayın işlem hattını belirli bir derleme tarafından üretilen yapıtlarla çalıştırma işlemini başlatma anlamına gelir. Bu, derlemenin dağıtımıyla sonuçlandır.

  1. + Yayın'ı seçin ve Yayın oluştur'a seçin.

  2. Yeni yayın oluştur panelinde, kullanmak istediğiniz yapıt sürümünün seçilip seçilmemiş olduğunu kontrol edin ve Oluştur'a tıklayın.

  3. Bilgi çubuğu iletisinde yayın bağlantısını seçin. Örneğin: "Release Release-1 has created".

  4. İşlem hattı görünümünde, günlükleri ve aracı çıkışını görmek için işlem hattının aşamalarındaki durum bağlantısını seçin.

  5. Yayın tamamlandıktan sonra uygulamanıza gidin ve içeriğini doğrulayın.

Sonraki adımlar