Aracılığıyla paylaş


DevTest Labs ve DevOps CI/CD işlem hatlarını tümleştirme

DevOps, yazılım geliştirmeyi (Dev) sistem işlemleri (Ops) ile tümleştiren bir yazılım geliştirme metodolojisidir. Sistem, iş hedeflerine uygun yeni yazılım özellikleri, güncelleştirmeler ve düzeltmeler sunmanıza yardımcı olur.

DevOps metodolojisi şunları da kapsar:

  • Hedeflere, kullanım desenlerine ve müşteri geri bildirimlerine göre yeni özellikler tasarlama.
  • Sorunlar oluştuğunda sistemi düzeltme, kurtarma ve sağlamlaştırma.

DevOps metodolojisinin bir bileşeni sürekli tümleştirme (CI) ve sürekli teslim (CD) işlem hattıdır. CI/CD işlem hattı, sistemi oluşturmak için bir dizi adım aracılığıyla kaynak denetimi işlemesinden bilgileri, kodları ve kaynakları taşır. Adımlar derleme, test ve yayındır.

CI/CD işlem hatlarında Azure DevTest Labs'i kullanabilirsiniz. Bu makalede, kurumsal bir ortamda CI/CD derleme, test ve yayın işlem hatlarında DevTest Labs kullanımı ele alınmaktadır.

DevOps iş akışlarında DevTest Labs kullanmanın avantajları

Laboratuvar yalnızca özellik alanında çalışan bir ekip tarafından kullanılmalıdır. Bu odak daha hızlı değişikliklere olanak tanır ancak olumsuz etkileri daha küçük bir grupla sınırlar. Değişiklikler veya sorunlar laboratuvar ortamında başka hiçbir şeyi etkilemeden gerçekleşir.

Bu odak araçlar, betikler ve Azure Resource Manager (ARM) şablonları gibi alana özgü kaynakların paylaşılmasına da olanak tanır. Geliştiriciler, ihtiyaç duydukları tüm kod, araçlar ve yapılandırmayla sanal makineler (VM) oluşturmak için paylaşılan kaynakları kullanabilir. ARM şablonları, uygun Azure kaynaklarıyla laboratuvar VM'leri ve laboratuvar ortamları oluşturur. Şablonlar kaynakları dinamik olarak veya özelleştirmelerle temel görüntüler oluşturarak oluşturur.

Örneğin, ürünün müşterinin makinesine yüklenen tek başına bir sistem olduğu bir senaryoyu düşünün. DevTest Labs, hızlı iç döngü kod testlerini etkinleştirmek için müşteri yazılımı, yapıt ve yapılandırmaların yüklü olduğu laboratuvar VM'leri oluşturabilir.

DevOps iş akışlarında laboratuvar kullanmanın bazı avantajları şunlardır:

  • Bir laboratuvarı bileşen olarak kullanmak belirli bir ekosistemi sınırlı kişilerle ilişkilendirir. Genellikle ortak bir alanda veya belirli bir özellikte çalışan bir ekip veya grubun kendilerine atanmış bir laboratuvarı vardır. Usually, a team or group working in a common area or a specific feature has a lab assigned to them.

  • Bulutta altyapı çoğaltması. Bir geliştirici, kaynak kodu ve araçlarıyla bir geliştirici VM'sini içeren bir geliştirme ekosistemini hızla ayarlayabilir. Bir geliştirici, iç döngü geliştirmeyi daha hızlı hale getirmek için üretim yapılandırmasıyla neredeyse aynı olan bir ortam da oluşturabilir.

  • Zaman uyumsuz testi etkinleştirmek için CI/CD işlem hattındaki bir laboratuvar aynı anda birkaç farklı üretim öncesi ortam veya makine çalıştırabilir. Laboratuvarda farklı destek altyapıları dağıtabilir ve yönetebilir ve aracılar oluşturabilirsiniz. You can deploy and manage different support infrastructures and build agents in a lab.

CI/CD boru hatlarında laboratuvarları kullanma

CI/CD işlem hattı kritik bir DevOps bileşenidir. İşlem hattı, bir geliştiricinin çekme isteğindeki kodu mevcut kodla tümleştirir ve kodu üretim ekosistemine dağıtır. DevTest Labs tümleştirmesi için tüm kaynakların bir laboratuvarda olması gerekmez. Örneğin, daha kalıcı bir kaynak için laboratuvarın dışında bir Jenkins konağı ayarlayabilirsiniz. Burada, laboratuvarları CI/CD işlem hattıyla tümleştirmeye ilişkin bazı özel örnekler verilmiştir.

Build

Derleme işlem hattı, birlikte test etmek ve yayına teslim etmek için bir bileşen paketi oluşturur. Dinamik olarak altyapı oluşturmak daha fazla denetim sağlar. Laboratuvarlar derleme aracılarının ve diğer destek kaynaklarının konumları olarak derleme işlem hattının bir parçası olabilir. DevTest Labs laboratuvar erişimini kısıtlayabilir. Bunu yapmak, derleme aracılarının güvenliğini artırır ve yanlışlıkla bozulma olasılığını azaltır.

Laboratuvarda birden çok ortamınız olabileceği için her yapı zaman uyumsuz olarak gerçekleştirilebilir. Derleme kimliği, belirli bir derlemedeki kaynakları benzersiz olarak tanımlayan ortam bilgilerinin bir parçasıdır.

Test

CI/CD işlem hattı, otomatik ve el ile test için VM'ler ve ortamlar gibi DevTest Labs kaynakları oluşturmayı otomatikleştirebilir. İşlem hattı, farklı özel test yapılandırmalarına sahip VM'ler oluşturmak için derleme bilgileri yapıtlarını veya formüllerini kullanır.

Release

Sürüm işlemi, kod dağıtılmadan önce doğrulama için DevTest Labs'i kullanabilir. İşlem teste benzer. Üretim kaynakları DevTest Labs'de dağıtılmamalıdır.

Customization

Azure DevOps Services'in bir bileşeni olan Azure Pipelines, belirli laboratuvarlardaki VM'leri ve ortamları işlemeye yönelik mevcut görevleri sağlar. Azure Pipelines, CI/CD işlem hattını yönetmenin bir yoludur. Bir laboratuvarı REST API'lerini çağırmayı, PowerShell betiklerini çalıştırmayı veya Azure CLI'yi kullanmayı destekleyen herhangi bir sistemle tümleştirebilirsiniz.

Bazı CI/CD işlem hattı yöneticileri, Azure ve DevTest Labs kaynaklarını yönetebilen mevcut açık kaynak eklentilerine sahiptir. İşlem hattının gereksinimlerini karşılamak için özel betik kullanmanız gerekebilir. Bir görevi çalıştırdığınızda, laboratuvara erişmek için uygun role (genellikle Katkıda Bulunan) sahip bir hizmet sorumlusu kullanın.

Next steps