Microsoft tarafından barındırılan veya şirket içinde barındırılan derleme aracısını seçme

Tamamlandı

Bu ünitede, bir derleme aracısı seçerken göz önünde bulundurmanız gereken bazı faktörler hakkında bilgi edineceksiniz. Microsoft tarafından barındırılan aracı kullanmanın bazı avantajları ve sınırlamaları ve kendi özel derleme aracınızı ayarlarken nelerin dahil olduğunu öğreneceksiniz.

Derleme aracıları ve aracı havuzları nedir?

Derleme aracısı derleme görevlerini yerine getiren bir sistemdir. Bunu derleme işleminizi çalıştıran ayrılmış bir sunucu olarak düşünün.

Derleme isteklerini günde birçok kez alan bir Azure Pipelines projeniz olduğunu veya her biri aynı tür derleme aracısı kullanabilen birden çok projeniz olduğunu düşünün. Her derleme isteğini işlemeye hazır bir sunucu olduğundan emin olmak için derleme aracılarınızı aracı havuzlarında düzenleyebilirsiniz.

Bir derleme tetiklendiğinde Azure Pipelines havuzdan kullanılabilir bir derleme aracısı seçer. Tüm aracılar meşgulse, işlem bir aracının kullanılabilir olmasını bekler.

Microsoft tarafından barındırılan bir aracı kullandığınızda havuzdan kullanılacak VM görüntüsünü belirtirsiniz. Ubuntu 20.04 derleme aracısı kullanan mevcut derleme yapılandırmanızdan bir örnek aşağıda verilmiştir:

pool:
  vmImage: 'ubuntu-20.04'
  demands:
  - npm

Microsoft tarafından barındırılan bir aracı kullandığınızda ihtiyacınız olan sistem türünü belirtmek için vmImage kullanırsınız. Microsoft çeşitli türlerde VM görüntüleri sağlar; Windows, macOS ve çeşitli Linux sürümleri çalıştıranlar da bunlar arasında yer alır.

demands bölümü sizin için derleme makinesinde bulunması gereken yazılımları veya özellikleri belirtir.

Kendi havuzunuzdan (özel havuz olarak da bilinir) bir derleme aracısı kullandığınızda havuzunuzun adını siz belirtirsiniz. Bir örnek aşağıda verilmiştir:

pool:
  name: 'MyAgentPool'
  demands:
  - npm

demands bölümüne ihtiyacınız yoksa söz dizimini şu şekilde kısaltabilirsiniz:

pool: 'MyAgentPool'

Bu modülün devamında derleme aracısı oluşturacak ve bu aracıyı havuza ekleyeceksiniz.

Hangi tür aracıları kullanabilirim?

Derleme aracısı seçerken göz önünde bulundurmanız gereken iki faktör vardır:

  • Üzerinde derlemek istediğiniz işletim sistemi
  • Microsoft tarafından barındırılan bir aracıyı kullanabileceğiniz veya kendi aracınızı sağlamanız gerekip gerekmediği

Azure Pipelines şu işletim sistemlerini destekler:

Seçtiğiniz derleme aracısı temel olarak kodunuzu oluşturmak için hangi araçları kullandığınıza bağlıdır. Örneğin uygulamalarınızı derlerken Xcode kullanıyorsanız bir macOS aracısı seçebilirsiniz. Visual Studio'ya ihtiyacınız varsa büyük olasılıkla Windows aracısı seçersiniz.

Mevcut derleme yapılandırmanız Microsoft tarafından barındırılan bir aracı kullanıyor. Barındırılan aracılar, Microsoft'un sizin için sağladığı altyapıda çalışır.

Özel bir aracı, sağladığınız altyapıyı kullanır. Aracınız bulutta veya veri merkezinizde çalışan bir sistem olabilir. Aracı gereksinimlerinizi karşılayıp Azure Pipelines'a bağlanabildiği sürece iki sistem de çalışır. Bu modülde, sağladığımız Azure üzerinde çalışan bir VM kullanacaksınız.

Ne zaman kendi derleme aracımı kullanmalıyım?

Birçok derleme görevi için, Microsoft tarafından barındırılan bir aracı ihtiyacınız olan her şeyi yapar. Başlangıç yapmak için en kolay yol budur.

Microsoft sizin için tüm güvenlikle ve diğer işletim sistemi güncelleştirmeleriyle ilgilenir. Tek yapmanız gereken çalıştırmak istediğiniz derleme yapılandırmasını tanımlamaktır.

Ayrıca barındırılan aracılar birçok yaygın uygulama türünü derlemeye yönelik yazılımları da içerir. Derleme sürecinde ihtiyacınız olan başka yazılımları ekleyebilirsiniz.

Microsoft tarafından barındırılan aracıların birkaç sınırlaması vardır ve bu sınırlamalar şunlardır:

  • Derleme süresi: Derleme işi altı saate kadar çalıştırılabilir.
  • Disk alanı: Barındırılan aracılar, kaynaklarınız ve derleme çıkışlarınız için sabit miktarda depolama alanı sağlar. Bu yeterli depolama alanı olmayabilir.
  • CPU, bellek ve ağ: Barındırılan aracılar Microsoft Azure genel amaçlı VM'lerde çalışır. Standard_DS2_v2, bekleyebileceğiniz CPU, bellek ve ağ özelliklerini açıklar.
  • Etkileşim: Barındırılan bir aracıda oturum alamazsınız.
  • Dosya paylaşımları: Derleme yapıtlarını Evrensel Adlandırma Kuralı (UNC) dosya paylaşımlarına bırakamazsınız.

Barındırılan aracıları ayarlamak nispeten kolay olsa da, az önce açıkladığımız sınırlamaları bir kenara bırakarak kendi derleme aracılarınızı kullanmanın bazı avantajları vardır.

Örneğin, barındırılan aracıları kullandığınızda altyapıyı diğer Azure DevOps kullanıcılarıyla paylaşırsınız. Derlemenizin başlatılması normalde birkaç saniye sürse de, Microsoft sistemindeki yüke bağlı olarak daha uzun sürebilir.

Ayrıca barındırılan aracıları kullandığınızda her derlemede temiz bir sistem elde edersiniz. Kendi derleme aracınızı getirdiğinizde, her seferinde temiz bir derleme mi yoksa artımlı derleme mi gerçekleştirebileceğinize karar vekleyebilirsiniz. Artımlı derleme ile mevcut derleme araçlarını ve derlenmiş kodu derlersiniz. Sistemde birçok derleme aracı ve bağımlı bileşen yüklü olduğundan artımlı derlemenin tamamlanması daha az zaman alabilir.

Buna karşılık, derleme altyapısı sizin olduğundan derleme aracılarınızın en son yazılım ve güvenlik yamalarını içerdiğinden emin olmak da sizin sorumluluğunuzdadır.

Özel derleme aracısını nasıl ayarlarsınız?

Özel derleme aracısı, uygulamalarınızı oluşturmak için gereken yazılımları içerir. Ayrıca, sistemin Azure Pipelines'a bağlanmasını ve derleme işlerini almasını sağlayan aracı yazılımını içerir.

Özel bir aracı ayarladığınızda, derlemelerin çalıştığı altyapıyı sağlarsınız. Bu size aracılarınızı getirme ve bakımlarını yapma konusunda esneklik getirir.

Örneğin, aşağıdakileri yapabilirsiniz:

  • Derleme aracısını el ile ayarlama: Sistemi açar, oturum açar ve derleme araçlarınızı ve aracı yazılımını etkileşimli olarak yüklersiniz.

  • İşlemi otomatikleştirme: Sistemi açar ve derleme araçlarınızı ve aracı yazılımınızı yüklemek için bir betik veya araç çalıştırırsınız. Sistem çevrimiçi olduktan sonra veya sağlama sürecinde aracıyı yapılandırabilirsiniz.

    Örneğin, Azure'da derleme aracıları çalıştırdığınızda, bir Azure Resource Manager şablonu (ARM şablonu) veya Bicep kullanarak sistemi açabilir ve derleme aracısı olarak çalışacak şekilde yapılandırabilirsiniz. HashiCorp tarafından sağlanan Terraform işlemi otomatikleştirmenin bir diğer yoludur. Terraform, Azure dahil birçok altyapı türüyle çalışır.

  • Görüntü oluşturma: Yapılandırılmış bir ortamın görüntüsünü veya anlık görüntüsünü oluşturursunuz. Ardından görüntüyü kullanarak havuzunuzda ihtiyacınız olan sayıda özdeş sistem oluşturursunuz.

El ile yapılandırma, işlemi anlamanıza olanak sağladığından kullanmaya başlamanın iyi bir yoludur. Ayrıca tek bir derleme aracısına ihtiyacınız olduğunda bunu ayarlamanın en hızlı yoludur.

Otomasyon, birçok derleme aracısına ihtiyacınız olduğunda veya derleme altyapısını düzenli aralıklara göre kaldırıp kaldırmanız gerektiğinde kullanışlıdır. Birden çok aracıya ihtiyacınız olduğunda el ile gerçekleştirilen bir işlemden otomatik işleme geçebilirsiniz.

Görüntüler bir otomasyon biçimidir. Tüm yazılımlar önceden yapılandırıldığından zaman kazanmalarına yardımcı olabilirler. Sonuç olarak, en son işletim sistemi yamalarını ve derleme araçlarını dahil etmek için görüntülerinizi düzenli aralıklarla yeniden oluşturmanız gerekebilir. HashiCorp tarafından sağlanan Packer popüler bir görüntü oluşturma aracıdır.

Space Game senaryonuz için özel bir derleme aracısı kullanmaya karar verirsiniz.

Bilgilerinizi kontrol edin

1.

Bir video oyunu oluşturduğunuzu varsayalım. Derleme işleminin çalışması iki saat sürer ve oyun varlıklarını derlemek için 18 GB ile 20 GB arasında disk alanı kullanır. Ne tür bir derleme aracısı kullanabilirsiniz?

2.

MacOS, Linux ve Windows üzerinde çalışan bir uygulama oluşturduğunuzu varsayalım. Uygulamayı hedeflediğiniz her platform için nasıl oluşturabilirsiniz?

3.

Şirket içinde barındırılan derleme aracısı: