Azure Pipelines nedir?

Tamamlandı

Microsoft Azure Pipelines, kod projenizi otomatik olarak derlemek, test etmek ve dağıtmak için kullanabileceğiniz bir bulut hizmetidir. Ayrıca diğer kullanıcıların kullanımına sunabilirsiniz ve hemen her dil veya proje türüyle çalışır.

Mara, ekibin derleme sürecini Azure Pipelines'da çoğaltma konusunda heyecanlanıyor. Amita, testçi, sonunda biraz boş zamanı var ve yetişmek istiyor. Mara şimdi planını anlatmak için harika bir zaman olduğuna karar verir: Azure Pipelines kullanarak Space Game web sitesi için otomatik bir derleme işlem hattı ayarlama.

Mara'nın planını duyduğunda Amita biraz tereddüt eder. Ancak Mara'nın planı derleme işlemini çoğaltmak ama değiştirmemek olduğundan, o da merak ediyor. Derleme işleminin bazı geliştirmeler kullanabileceğini biliyor.

Amita: kulağa ilginç bir alıştırma gibi geliyor, ancak bir DevOps noktasını kanıtlamak istemeniz gerekir!

Beni zaten çok iyi tanıyorsun!

Amita: Özellikle zaten yaptığımız şeyi yapacağın için hangi iyileştirmeleri görmeyi bekliyorsunuz?

Mara: Yalnızca Azure Pipelines'a geçmenin birçok avantaj sağlayacağını düşünüyorum. Azure Pipelines'ın bir bulut hizmeti olduğunu unutmayın. Kodu otomatik olarak derlemek ve test etmek için kullanabiliriz. Ayrıca başkaları tarafından da kullanılabilir olacak. Neredeyse tüm bilgisayar dilleriyle ve proje türleriyle kullanılabilir.

Derleme sunucumuzda sorunlar var ve hatta güncel tutmak bile zor. Azure Pipelines, Microsoft'un barındırdığı ve koruduğu derleme sunucuları sağladığından, her zaman en son düzeltme eklerine ve güvenlik güncelleştirmelerine sahiptir. Derleme sunucularının bakımını yapma konusunda endişelenmemiz gerekmez.

Ayrıca, farklı insanlar tarafından yazılmış her türlü betik var. Bazılarının nasıl çalıştığını bile anlayamıyoruz. Azure Pipelines bir görev kataloğuyla birlikte gelir. Görev, bir dizi girişle soyutlanmış paketlenmiş bir betik veya yordamdır. Derleme betiklerimizin bu görevlerle ne yaptığını eşlemeye çalışacağım. En azından işlerin nasıl yapıldığını standartlaştırabilir ve otomasyon düzeyini artırabiliriz.

Ayrıca Azure Pipelines birçok farklı dil ve uygulama türüyle çalışır. Bu yönde ilerlemek istiyorsak, yeniden kullanmak zorunda değiliz.

Bencilce olduğunu biliyorum ama neden umurumda olsun ki? Büyük sorunlarımdan biri, bir derlemenin teste ne zaman hazır olduğunu asla bilmememdir. Bazen birisi elektronik tabloyu güncelleştirmeyi hatırlar, ancak çoğu zaman unutur. Görünüşe göre bunu bilen son kişi benim.

Doğru, bu kolayca düzeltebileceğimiz bir şey. Derleme hazır olduğunda işlem hattını sizi e-posta veya başka bir bildirim aracılığıyla otomatik olarak bilgilendirecek şekilde ayarlayabiliriz. Birinin sana bir daha hatırlatmasını beklemek zorunda kalmayacaksın.

Tamam, yani şu anda amacınız uygulamayı oluşturmak ve hazır olduğunda bana bildirmek mi?

Mara: Doğru! Elbette daha büyük planlarım var. Bu ilk adımı seveceğinizi biliyorum, bu yüzden bize gerçek bir sürekli tümleştirme sağlamak için bunun üzerine inşa etmek istiyorum.

Amita: Bana sürekli tümleştirmeyle ilgili 5 dakikalık bir özet ver.

Sana bir resim çizeyim.

Mara beyaz tahtaya geçer ve işlem hattını çizer.

Screenshot of a hand-drawn illustration of a CI pipeline. The Build, Test, and Verify stages act on code. The build artifact is the output.

Bu benim CI işlem hattım. CI , bir ekip üyesi sürüm denetiminde değişiklikleri her işlediğinde kodun oluşturulmasını ve testini otomatikleştirme işlemidir. Henüz otomatik test yapmayacağımızı biliyorum ama biraz zaman ver.

İşlem hattı , uygulama için sürekli tümleştirme işlemini tanımlar. Görevler adlı adımlardan oluşur. Bunu derleme, test ve dağıtım adımlarınızın nasıl çalıştırıldığını tanımlayan bir betik olarak düşünebilirsiniz. Betiklerimizi görevlerle eşlemeye çalışacağım.

kod değişiklikleri gönderdiğinizde işlem hattı çalışır. İşlem hattını otomatik olarak çalışacak şekilde yapılandırabilir veya el ile çalıştırabilirsiniz. İşlem hattınızı GitHub, Bitbucket veya Subversion gibi bir kaynak depoya bağlarsınız. Bu sprint için görevlerimizden biri GitHub'ı kullanmaya başlamaktır. Bu nedenle bu proje için GitHub kullanacağız.

Derleme aracısı kodu derler veya dağıtır. Derlemeniz veya dağıtımınız çalıştırıldığında sistem bir veya daha fazla iş başlatır. Aracı, aynı anda tek bir derleme veya dağıtım işi çalıştıran yüklenebilir bir yazılımdır. Azure Pipelines'ı kullandığımız için Microsoft tarafından barındırılan bir aracı kullanabiliriz. Microsoft tarafından barındırılan aracılarda bakım ve yükseltme işlemleri bizim için yapılır. İşlem hattını her çalıştırışımızda yeni bir sanal makine alacağız. Ubuntu 22.04 dahil olmak üzere, aralarından seçim yapabileceğiniz birkaç sanal makine görüntüsü vardır. Bu, kullandığımız görüntüdür.

İşlem hattının son ürünü bir derleme yapıtıdır . Bir yapıtı, uygulamayı test etmek veya dağıtmak için ihtiyacımız olan en küçük derlenmiş birim olarak düşünün. Örneğin, bir yapıt şu olabilir:

  • .jar veya .zip dosyasına paketlenmiş bir Java veya .NET uygulaması.
  • C++ veya JavaScript kitaplığı.
  • Sanal makine, bulut veya Docker görüntüsü.

İşte bu kadar. Bunu yapabileceğimizi biliyorum.

Kulağa harika geliyor. Şimdi işe yarayabilmek için ne yapmanız gerekiyor ve ne kadar süreceğini görelim. Hepimize bir demo verebilirsiniz.

Mara: Olacak!

Derleme aracılarını yönetme

Artık siz ve ekip Azure Pipelines hakkında bilgi edindiğinize göre, derleme aracıları hakkında biraz daha konuşalım. Derleme aracısı, aynı anda tek bir derleme veya dağıtım işi çalıştıran yüklenebilir bir yazılım parçasıdır. Kodunuzu oluşturmak veya yazılımınızı dağıtmak için en az bir aracıya ihtiyacınız vardır. Daha fazla kod ve kişi ekledikçe, sonunda birden fazla aracıya ihtiyacınız olacak. Aracıların iki ana kategorisi vardır.

  • Microsoft tarafından barındırılan aracılar Microsoft tarafından yönetilen aracılardır ve bakım ve yükseltme işlemleri sizin için yapılır. İşlem hattını her çalıştırdığınızda, işlem hattındaki her iş için yeni bir aracı alırsınız. Bu modülde, Microsoft tarafından barındırılan bir aracı kullanarak Yerel geliştirme ortamı'nı seçtiğinizde işlem hattınızı Microsoft tarafından barındırılan bir aracıda çalıştıracaksınız. İşlem hatlarını Microsoft tarafından barındırılan bir aracıda çalıştırmak için kuruluşunuzun en az bir Microsoft tarafından barındırılan paralel işi olmalıdır. En az bir Microsoft tarafından barındırılan paralel işiniz olduğundan emin olmak için Microsoft tarafından barındırılan paralel iş sayınızı denetleyin. Microsoft tarafından barındırılan paralel iş sayınız sıfırsa (yeni Azure DevOps kuruluşlarında genellikle sıfır paralel iş varsa), ücretsiz bir izin isteyebilirsiniz. Ücretsiz hibe için onay süreci genellikle 2-3 iş günü sürer.

  • Şirket içinde barındırılan aracılar , sizin tarafınızdan yönetilen aracılardır. Aracı yazılımını ve istenen araçları yükleyerek sanal makineleri veya kapsayıcıları yapılandırır ve aracıları Azure DevOps'a kaydedersiniz. Bu modülde, şirket içinde barındırılan bir aracı kullanarak GitHub Codespaces geliştirme ortamını seçtiğinizde, GitHub Codespaces kapsayıcınızda çalışan şirket içinde barındırılan bir aracı kullanırsınız. Aracıyı GitHub Codespaces kapsayıcısı üzerinde kendi kendine barındırmak tipik bir üretim senaryosu değildir, ancak bu eğitim modülünü tamamlamak için bir ortam sağlar.

Bilgilerinizi kontrol edin

1.

Bunlardan hangisi derleme yapıtı örneğidir?