Aracılığıyla paylaş


Derleme hızını geliştirmeye yönelik öneriler

Bu Azure Well-Architected Framework Operasyonel Mükemmellik denetim listesi önerisi için geçerlidir:

OE:04 Geliştirme ve test için sektörde kanıtlanmış uygulamaları izleyerek yazılım geliştirme ve kalite güvencesi süreçlerini iyileştirin. Kesin rol belirleme için araçlar, kaynak denetimi, uygulama tasarım desenleri, belgeler ve stil kılavuzları gibi bileşenler genelinde uygulamaları standartlaştırabilirsiniz.

İlgili kılavuzlar: Araçları ve işlemleri standartlaştırma önerileri | Sürekli tümleştirmeyi kullanmaya yönelik öneriler

Bu kılavuzda, dağıtım altyapınızın performansını geliştirmeye yönelik öneriler açıklanmaktadır. Ürün geliştirmenizin ilk gününde bir derleme işleminin oluşturulması ve çalıştırılması önemlidir. Derlemeler, sürekli teslim sisteminizin sinyalidir çünkü derleme durumu ürününüzün ne zaman dağıtılabilir olduğunu gösterir. Derlemeler, ürününüzün durumu hakkında önemli bilgiler sağlar, bu nedenle her zaman hızlı derlemeler için çaba göstermelisiniz.

Derlemenin daha uzun sürmesi durumunda derleme sorununu düzeltmek zordur. Gecikmeler gerçekleştiğinde ve normalleştirildiğinde, ekipler sorunu çözmek için daha az motive olur.

Temel tasarım stratejileri

Derleme süreleri

Daha hızlı derlemeler gerçekleştirmek için şunları yapabilirsiniz:

  • Performans gereksinimlerinizi karşılayan aracıları seçin: Doğru derleme makinelerini seçerek derlemelerinizi hızlandırın. Hızlı makineler saat ve dakikalar arasında fark oluşturabilir. İşlem hatlarınız Azure Pipelines'daysa, microsoft tarafından barındırılan bir aracı kullanarak işlerinizi çalıştırabilirsiniz. Microsoft tarafından barındırılan aracıları kullandığınızda, bakım ve yükseltme işlemleri sizin için yapılır. Daha fazla bilgi için, bkz. Microsoft tarafından barındırılan aracılar.

  • Derleme sunucusu konumunu iyileştirme: Kodunuzu oluştururken veriler kablo üzerinden gönderilir. Derlemelere girişler bir kaynak denetim deposundan ve yapıt deposundan getirilir. Derlenmiş yapıtlar, test raporları, kod kapsamı sonuçları ve hata ayıklama simgeleri dahil olmak üzere derleme işleminin çıktısının kopyalanması gerekir. Bu kopyalama eylemlerinin hızlı bir şekilde çalıştırılması önemlidir. Kendi derleme sunucunuzu kullanıyorsanız, derleme sunucusunun kaynaklara ve hedef konuma yakın olduğundan emin olun. Hızlı yüklemeler ve indirmeler, genel derleme süresini kısaltabilir.

  • Derleme sunucularının ölçeğini genişletme: Küçük bir ürün için tek bir derleme sunucusu yeterli olabilir. Ürünün boyutu ve kapsamı ve ürün üzerinde çalışan ekiplerin sayısı arttıkça tek bir sunucu yeterli olmayabilir. Sınıra ulaştığınızda altyapınızı birden çok makine üzerinde yatay olarak ölçeklendirin. Daha fazla bilgi için bkz. Aracı havuzları oluşturma ve yönetme.

  • Derlemeyi iyileştirme:

    • Derleme işlemini hızlandırmak için paralel işler ekleyin. Daha fazla bilgi için bkz. Paralel işleri yapılandırma ve ödeme.

    • Özellikle tümleştirme ve UI testlerini çalıştırırken genellikle büyük miktarda zaman kazandıran paralel test paketi çalıştırmalarını etkinleştirin. Daha fazla bilgi için bkz . Herhangi bir test çalıştırıcısı için testleri paralel çalıştırma.

    • Derlemelerinizin ölçeğini birden çok derleme aracısının ölçeğini genişletebileceğiniz çarpanı kullanın. Daha fazla bilgi için, bkz. İşlem hattınızda işleri belirtme.

    • Tümleştirme, kullanıcı arabirimi ve duman testlerini bir yayın işlem hattına taşımayı göz önünde bulundurun. Yayın işlem hattına geçmek, derleme hızını ve derleme geri bildirim döngüsünün hızını artırır.

    • Derleme yapıtlarını NuGet veya Maven gibi bir paket yönetimi çözümünde yayımlayın. Paket yönetimi çözümüne yayımlamak, derleme yapıtınızı daha kolay yeniden kullanmanıza olanak tanır.

İnsan müdahalesi

Kuruluşunuz, derleme sürelerini iyileştirmek için birkaç farklı tür derleme oluşturmayı seçebilir. Olası derlemeler şunlardır:

  • Sürekli tümleştirme (CI) derlemesi: Bu derlemenin amacı kodun derlendiğinden ve birim testlerinin çalıştırıldığından emin olmaktır. Bu derleme her işlemede tetiklenir. Projenin kalp atışı görevi görür ve takıma anında kaliteli geri bildirim sağlar. Daha fazla bilgi için bkz. İşlem hatlarını tetikleyen olayları belirtme.

  • Gecelik derleme: Her gece derlemenin amacı yalnızca kodu derlemek değil, aynı zamanda her derleme için düzenli bir tempoda verimsiz olan daha büyük test paketlerinin çalıştırılmasını sağlamaktır. Bu testler genellikle tümleştirme, kullanıcı arabirimi veya duman testlerini içerir. Daha fazla bilgi için bkz. İşlem hatları için zamanlamaları yapılandırma.

  • Yayın derlemesi: Bu derleme, testleri derlemeye ve çalıştırmaya ek olarak API belgelerini, uyumluluk raporlarını, kod imzalamayı ve kod her derlendiğinde gerekli olmayan diğer adımları da derler. Bu derleme, son olarak üretim ortamında dağıtmak üzere yayın işlem hattına gönderilen altın renkli kopyayı sağlar.

Kuruluşunuzun ihtiyaç duyduğu derleme türleri, ekibinizin ve kuruluşunuzun olgunluğu, üzerinde çalıştığınız ürünün türü ve dağıtım stratejiniz gibi faktörlere bağlıdır.

Azure kolaylaştırma

Azure DevOps , işbirliğine dayalı, verimli ve tutarlı bir geliştirme uygulaması oluşturmanıza yardımcı olan bir hizmet koleksiyonudur.

Uygulamalarınızın sürekli tümleştirmesini ve sürekli teslimini (CI/CD) desteklemek üzere hizmetleri derlemek ve yayınlamak için Azure Pipelines'ı kullanın.

Azure için GitHub Actions kullanarak CI/CD işlemlerini otomatikleştirin ve dağıtımları basitleştirmek için doğrudan Azure ile tümleştirin. Ayrıca her çekme isteğini deponuza derleyip test eden iş akışları oluşturabilir veya Azure için GitHub Actions kullanarak birleştirilmiş çekme isteklerini üretim ortamına dağıtabilirsiniz.

Microsoft tarafından barındırılan aracılarAzure Pipelines'da yerel olarak kullanılabilir. Bu aracılar, yalnızca bir iş için kullanılan ve ardından atılan ve derlemeleriniz için yönetimi kolay bir seçenek sağlayan tek kullanımlık sanal makinelerdir.

Operasyonel Mükemmellik denetim listesi

Önerilerin tamamına bakın.