Microsoft tarafından barındırılan aracılar

Azure DevOps Hizmetleri

Microsoft tarafından barındırılan aracılar yalnızca bulutta barındırılan Azure DevOps Services ile kullanılabilir. Microsoft tarafından barındırılan aracıları veya Azure Pipelines aracı havuzunu şirket içi Azure DevOps Server ile kullanamazsınız. Bu şirket içi sürümlerle şirket içinde barındırılan aracıları kullanmanız gerekir.

Önemli

Azure DevOps İçerik Sürümü seçicisinden bir sürüm seçin.

Bu makalenin platformunuza ve sürümünüze karşılık gelen sürümünü seçin. Sürüm seçici, içindekiler tablosunun üzerindedir. Azure DevOps platformunuzu ve sürümünüzü arayın.

İşlem hatlarınız Azure Pipelines'daysa, Microsoft tarafından barındırılan bir aracı kullanarak işlerinizi rahatça çalıştırabilirsiniz. Microsoft tarafından barındırılan aracılarda bakım ve yükseltmeler otomatik olarak gerçekleşir.

İşlem hattınızda her zaman belirttiğiniz VM görüntüsünün en son sürümüne sahip olursunuz. İşlem hattını her çalıştırdığınızda, işlem hattındaki her iş için yeni bir sanal makine alırsınız. Sanal makine, bir görev tamamlandıktan sonra atılır. Bir işin sanal makine dosya sisteminde yaptığı, kodu kopyalama gibi değişiklikler bir sonraki işte mevcut değildir.

Microsoft tarafından barındırılan aracılar işleri doğrudan VM'de veya kapsayıcıda çalıştırabilir.

Azure Pipelines, Microsoft tarafından barındırılan aracılarla Azure Pipelines adlı önceden tanımlanmış bir aracı havuzu sağlar.

Birçok ekip için bu işlem, işlerinizi çalıştırmanın en basit yoludur. Derlemeniz veya dağıtımınız için çalışıp çalışmadığını görmek için önce bunu deneyebilirsiniz. Aksi takdirde Sanal Makine Ölçek Kümeleri aracılarını veya kendi barındırılan bir aracıyı kullanabilirsiniz.

İpucu

Microsoft tarafından barındırılan bir aracıyı ücretsiz olarak deneyebilirsiniz.

Yazılım

Azure Pipelines aracı havuzu, aralarından seçim yapabileceğiniz, her biri çok çeşitli araçlar ve yazılımlar dahil olmak üzere çeşitli sanal makine görüntüleri sunar. Aşağıdaki tabloda Yer alan yazılım bağlantısını seçerek her görüntü için yüklü yazılımları görebilirsiniz. Görüntü ve yazılımın yazılım yaşam döngüsü ve kullanımdan kaldırma zamanlaması hakkında daha fazla bilgi için bkz. GitHub Actions Runner Images - Yazılım ve Görüntü Desteği veMicrosoft tarafından barındırılan görüntü kullanımdan kaldırma zamanlaması.

Tabloda Bulunan yazılım bağlantısını seçerek Windows'da barındırılan her aracı görüntüsü için yüklü yazılımları görebilirsiniz.

Görsel Klasik Düzenleyici Aracısı Belirtimi YAML VM Görüntü Etiketi Dahil edilen yazılım
Visual Studio 2026 ile Windows Server 2025 windows-2025-vs2026 windows-2025-vs2026 Bağlantı
Visual Studio 2022 ile Windows Server 2025 windows-2025 windows-latest VEYA windows-2025 Bağlantı
Visual Studio 2022 ile Windows Server 2022 windows-2022 windows-2022 Bağlantı

Visual Studio 2026 ile Windows Server 2025

Not Alın

Visual Studio 2026 görüntüsüne sahip Windows Server 2025 genel kullanıma sunulmuştur. Bu özel imaj, Visual Studio 2022 içeren Windows Server 2025 imajının yanında sunulur. Visual Studio 2026 görüntüsünü kullanmak için işlem hattı yapılandırmanızda belirtinwindows-2025-vs2026.

Windows görüntü güncelleştirmeleri

Önemli

Microsoft tarafından barındırılan aracılara yazılım eklenmesini istemek için bu belgede geri bildirim isteği oluşturmayın veya destek bileti açmayın. Bunun yerine, çeşitli görüntüler oluşturmaya yönelik betiklerimizi yönettiğimiz depomuzda bir sorun açın.

Microsoft tarafından barındırılan aracı kullanma

YAML işlem hatlarında bir havuz belirtmezseniz işlem hatları varsayılan olarak Azure Pipelines aracı havuzuna atanır. Hangi sanal makine görüntüsünü kullanmak istediğinizi belirtmeniz yeterlidir.

jobs:
- job: Linux
  pool:
    vmImage: 'ubuntu-latest'
  steps:
  - script: echo hello from Linux
- job: macOS
  pool:
    vmImage: 'macOS-latest'
  steps:
  - script: echo hello from macOS
- job: Windows
  pool:
    vmImage: 'windows-latest'
  steps:
  - script: echo hello from Windows

Not Alın

Bir havuzun belirtimi YAML dosyasında birden çok düzeyde yapılabilir. İşlem hattınızın beklenen görüntüde çalışmadığını fark ederseniz, işlem hattı, aşama ve iş düzeylerinde havuz belirtimini doğruladığınızdan emin olun.

Sabit kodlanmış bağlantılardan kaçının

Microsoft tarafından barındırılan bir aracı kullandığınızda, derleme ortamına ve aracı kaynaklarına başvurmak için her zaman değişkenleri kullanın. Örneğin, depoyu içeren sürücü harfini veya klasörü sabit kodlamayın. Barındırılan aracıların tam düzeni uyarı olmadan değiştirilebilir.

Donanım

Windows ve Linux görüntüleri çalıştıran Microsoft tarafından barındırılan aracılar, 2 çekirdekli CPU, 7 GB RAM ve 14 GB SSD disk alanı içeren Azure genel amaçlı sanal makinelerde sağlanır. Bu sanal makineler, Azure DevOps kuruluşunuzla aynı coğrafyada birlikte bulunur.

macOS görüntülerini çalıştıran aracılar, 3 çekirdekli CPU’ya, 14 GB RAM’e ve 14 GB SSD disk alanına sahip Mac Pro’larda çalışır; bunun istisnası olan macOS 15 Sequoia ARM64 görüntüsü ise 3 çekirdek, 7 GB RAM ve 14 GB SSD disk alanına sahip Apple Silicon donanımında çalışır. Bu aracılar, Azure DevOps kuruluşunuzun konumundan bağımsız olarak her zaman ABD'de çalışır.

Bu makinelerin tümü, işlem hatlarınızın çalışması için en az 10 GB boş disk alanına sahiptir. Bu boş alan; işlem hattınız kaynak kodunu kullanıma aldığında, paketleri indirdiğinde, docker görüntülerini çektiğinde veya ara dosyalar oluşturduğunda kullanılır.

Önemli

Microsoft tarafından barındırılan aracılarda disk alanını artırmaya veya daha güçlü makineler sağlamaya yönelik istekleri karşılayamıyoruz. Microsoft tarafından barındırılan aracıların belirtimleri gereksinimlerinizi karşılamıyorsa, şirket içinde barındırılan aracılar veya ölçek kümesi aracıları veya Yönetilen DevOps Havuzları seçeneklerini göz önünde bulundurmalısınız.

Ağ

Bazı kurulumlarda, aracıların dağıtıldığı IP adresi aralığını bilmeniz gerekebilir. Örneğin, barındırılan aracılara bir güvenlik duvarı üzerinden erişim vermeniz gerekiyorsa bu erişimi IP adresine göre kısıtlamak isteyebilirsiniz. Azure DevOps, Azure genel ağını kullandığından IP aralıkları zaman içinde farklılık gösterir. Microsoft, Azure veri merkezleri için IP aralıklarını bölgeye göre ayrılmış olarak listeleyen haftalık bir JSON dosyası yayımlar. Bu dosya, planlanan yeni IP aralıklarıyla haftalık olarak güncelleştirilir. Dosyanın yalnızca en son sürümü indirilebilir. Önceki sürümlere ihtiyacınız varsa bunları her hafta kullanılabilir hale geldikçe indirmeniz ve arşivlemeniz gerekir. Yeni IP aralıkları, bir sonraki hafta geçerli olur. Güncel bir liste tuttuğunuzdan emin olmak için sık sık (haftada en az bir kez) kontrol etmenizi öneririz. Eğer aracı işleri başarısız olmaya başlarsa, önemli bir ilk sorun giderme adımı, sizin yapılandırmanızın en güncel IP adresleri listesiyle eşleştiğinden emin olmanızı sağlamaktır. Barındırılan aracıların IP adresi aralıkları, batı ABD bölgesi gibi AzureCloud.<region> altındaki AzureCloud.westushaftalık dosyada listelenir.

Barındırılan aracılarınız kuruluşunuzla aynı Azure coğrafyada çalışır. Barındırılan aracı, Her coğrafyadaki bölgeler tablosunda gösterildiği gibi coğrafyanızla eşlenen bölgelerden herhangi birinde çalışabilir ve veri yerleşikliği kısıtlamalarına her zaman uyar. Ajanınız kuruluşunuzla aynı bölgede çalışabilir, ancak bunun böyle olması garanti edilmez. Aracınızın olası IP aralıklarının tam listesini almak için, yalnızca kuruluşunuzun bölgesiyle değil, tablodaki coğrafyanızla eşlenen tüm bölgelerin IP aralıklarını listeleyin.

Not Alın

macOS görüntülerini çalıştıran aracılar, Azure DevOps kuruluşunuzun konumundan bağımsız olarak her zaman ABD'de çalışır.

Coğrafyanızı belirlemek için adresine gidin https://dev.azure.com/<your_organization>/_settings/organizationOverview ve kuruluşunuzun bölgesini not edin. Her coğrafya tablosundaki Bölgeler'de bu bölgeyi içeren coğrafyayı bulun. Ardından, bu coğrafya için listelenen her bölge için haftalık dosyadaki IP aralıklarını kullanın.

Önemli

Microsoft tarafından barındırılan aracıları şirket ağınıza bağlamak için ExpressRoute veya VPN gibi özel bağlantıları kullanamazsınız. Microsoft tarafından barındırılan aracılar ile sunucularınız arasındaki trafik genel ağ üzerinden olacaktır.

Her coğrafyadaki bölgeler

Microsoft tarafından barındırılan aracılar, kuruluşunuzun coğrafi konumuyla eşlenen bölgelerden herhangi birinde çalışabilir ve veri yerleşikliği kısıtlamalarına her zaman uyar. Aracınız bu bölgelerden herhangi birinde çalışabildiğinden, coğrafyanızla eşlenen her bölgenin IP aralıklarını listeleyin. Aşağıdaki tabloda bu bölgeler listelenir.

Not Alın

Avrupa Birliği'ndeki kuruluşlara her zaman AB veri yerleşimi sınırı içindeki bölgelerden temsilciler sunulur.

Coğrafya Regions
Asya Pasifik Doğu Asya, Güneydoğu Asya
Australia Doğu Avustralya, Güneydoğu Avustralya, Orta Avustralya
Canada Orta Kanada, Doğu Kanada
Europe Batı Avrupa, Kuzey Avrupa, Orta Fransa, Orta İsveç, Orta Polonya, Orta İspanya, Doğu Avusturya, Belçika Orta
India Orta Hindistan, Güney Hindistan, Batı Hindistan
Birleşik Krallık Güney Birleşik Krallık, Batı Birleşik Krallık
Amerika Birleşik Devletleri Orta ABD, Doğu ABD, Doğu ABD 2, Kuzey Orta ABD, Güney Orta ABD, Batı Orta ABD, Batı ABD, Batı ABD 2, Batı ABD 3

Microsoft tarafından barındırılan aracıların olası IP aralıklarını belirlemek için

  1. Kuruluşunuzun bölgesini Kuruluş ayarlarından belirleyin.
  2. Her coğrafya tablosundaki Bölgeler'de kuruluşunuzun bölgesini içeren coğrafyayı bulun.
  3. Coğrafyanızdaki her bölge için, haftalık dosyada adı AzureCloud.<region>altındaki girdisini bulun; burada <region> , boşluklar kaldırılmış küçük harfle bölge adıdır. Örneğin , Batı ABD ve AzureCloud.westusOrta Fransa şeklindedir AzureCloud.francecentral.
  4. Haftalık dosyadan coğrafyanızdaki tüm bölgelerin IP adreslerini alın. Bölgeniz Brezilya Güney ise, aşağıdaki notta açıklandığı gibi geri dönüş coğrafyanıza göre ek IP aralıkları ekleyin.

Not Alın

Kapasite kısıtlamaları nedeniyle, Brezilya Güney bölgesindeki bazı kuruluşlar zaman zaman barındırılan aracılarının bekledikleri coğrafi konumun dışında bulunduğunu görebilir. Bu gibi durumlarda, önceki bölümde açıklandığı gibi coğrafyanızdaki tüm bölgeler için IP aralıklarını eklemeye ek olarak, kapasite geri dönüş coğrafyasında bölgelerin IP aralıklarını da dahil edin.

Kuruluşunuz Brezilya Güney bölgesindeyse, kapasite geri dönüş coğrafyanız Abd'dir ve Güney Brezilya coğrafyasında yer alan tüm bölgelerin IP aralıklarına ek olarak ABD coğrafyasında tüm bölgeler için IP aralıklarını da eklemeniz gerekir.

Mac IP aralıklarımız, GitHub macOS bulutunda barındırdıkları için yukarıdaki Azure IP'lere dahil değildir. GitHub meta veri API'sini kullanarak ve burada sağlanan yönergeleri izleyerek IP aralıklarını alabilirsiniz.

Örnek

Aşağıdaki örnekte, Batı ABD bölgesindeki bir kuruluş için barındırılan aracı IP adresi aralıkları haftalık dosyadan alınmaktadır. Batı ABD bölgesi Birleşik Devletler coğrafyada olduğundan, Birleşik Devletler coğrafyadaki tüm bölgelerin IP adresleri dahil edilir. Bu örnekte, IP adresleri konsola yazılır.

using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

namespace WeeklyFileIPRanges
{
    class Program
    {
        // Path to the locally saved weekly file
        const string weeklyFilePath = @"C:\MyPath\ServiceTags_Public_20230904.json";

        static void Main(string[] args)
        {
            // United States geography has the following regions:
            // Central US, East US, East US 2, North Central US, South Central US,
            // West Central US, West US, West US 2, West US 3
            // For the current list of regions in each geography, see the
            // "Regions in each geography" table earlier in this article.
            List<string> USGeographyRegions = new List<string>
            {
                "centralus",
                "eastus",
                "eastus2",
                "northcentralus",
                "southcentralus",
                "westcentralus",
                "westus",
                "westus2",
                "westus3"
            };

            // Load the weekly file
            JObject weeklyFile = JObject.Parse(File.ReadAllText(weeklyFilePath));
            JArray values = (JArray)weeklyFile["values"];

            foreach (string region in USGeographyRegions)
            {
                string tag = $"AzureCloud.{region}";
                Console.WriteLine(tag);

                var ipList =
                    from v in values
                    where tag.Equals((string)v["name"], StringComparison.OrdinalIgnoreCase)
                    select v["properties"]["addressPrefixes"];

                foreach (var ip in ipList.Children())
                {
                    Console.WriteLine(ip);
                }
            }
        }
    }
}

Hizmet etiketleri

Microsoft tarafından barındırılan aracılar hizmet etiketlerine göre listelenemez. Kaynaklarınıza erişim sağlamak için barındırılan aracılara izin vermeye çalışıyorsanız, IP aralığını izin verilenler listesine ekleme yöntemini uygulamanız gerekir.

Güvenlik

Microsoft tarafından barındırılan aracılar güvenli Azure platformunda çalışır. Ancak, aşağıdaki güvenlik konularını bilmeniz gerekir.

  • Microsoft tarafından barındırılan aracılar Azure genel ağında çalıştırılır, ancak bunlara genel IP adresleri atanmaz. Bu nedenle, dış varlıklar Microsoft tarafından barındırılan aracıları hedefleyemez.
  • Microsoft tarafından barındırılan aracılar, her çalıştırmadan sonra yeniden tasarlanan tek tek VM'lerde çalıştırılır. Her aracı tek bir kuruluşa ayrılmıştır ve her VM yalnızca tek bir aracı barındırıyor.
  • İşlem hattınızı Microsoft tarafından barındırılan aracılarda çalıştırmanın güvenlik açısından çeşitli avantajları vardır. İşlem hattınızda çatallardan gelen katkılar gibi güvenilmeyen kodlar çalıştırıyorsanız, bu işlem hattını Microsoft tarafından barındırılan aracılarda çalıştırmak, kendi barındırdığınız aracılara göre daha güvenlidir.
  • bir işlem hattının güvenlik duvarının arkasındaki şirket kaynaklarınıza erişmesi gerektiğinde, Azure coğrafyası için IP adresi aralığına izin vermek zorunda kalırsınız. IP adresi aralığı oldukça büyük olduğundan ve bu aralıktaki makineler de diğer müşterilere ait olabileceğinden bu durum açığa çıkarmanızı artırabilir. Bunu önlemenin en iyi yolu, iç kaynaklara erişme gereksinimini önlemektir. Yapıtları bir sunucu kümesine dağıtma hakkında bilgi için bkz Hedef sunuculara dağıtma iletişimi.
  • Barındırılan görüntüler CIS sağlamlaştırma karşılaştırmalarına uymaz. CIS sağlamlaştırılmış görüntüleri kullanmak için kendinden barındırılan aracılar, ölçeklenebilir küme aracıları veya Yönetilen DevOps havuzları oluşturmanız gerekir.

Özellikler ve sınırlamalar

Microsoft tarafından barındırılan aracılar:

  • Yukarıdaki yazılıma sahip olun. Ayrıca, araç yükleyicisi görevlerini kullanarak derleme veya yayın sırasında yazılım ekleyebilirsiniz.
    • İşlem hattınızdaki her iş için yeni imajlanmış bir ajan alırsınız.
  • Kaynağınız ve derleme çıkışlarınız için 10 GB depolama alanı sağlayın.
  • Ücretsiz bir katman sağlayın:
  • Microsoft Azure genel amaçlı sanal makinelerinde Standard_DS2_v2 çalıştırın.
  • Windows'da yönetici olarak ve Linux'ta parolasız sudo kullanıcısı olarak çalıştırın.
  • (Yalnızca Linux) 6 GB fiziksel bellek ve toplam 13 GB bellek sunan bir cgroup içinde adımları çalıştırın.
  • Düzenli olarak güncelleştirilen VM görüntülerini kullanın (her üç haftada bir).

Microsoft tarafından barındırılan aracılar aşağıdakileri sunmaz:

  • Uzaktan bağlanabilme özelliği.
  • UNC dosya paylaşımına objeleri bırakma özelliği.
  • Makineleri doğrudan kurumsal ağınıza ekleme olanağı.
  • Daha büyük veya daha güçlü makineler sağlama yeteneği.
  • Özel yazılımları önceden yükleme özelliği. İşlem hattı çalıştırması sırasında, yazılımı araç yükleyici görevleri aracılığıyla veya bir betik üzerinden yükleyebilirsiniz.
  • Kendi yerelinizde barındırılan aracılar kullanarak derlemeleri daha hızlı başlatıp çalıştırabilmenizin sağlayabileceği olası performans avantajları. Daha fazla bilgi edinin
  • XAML derlemelerini çalıştırma özelliği.
  • Önceki bir VM görüntüsü sürümüne geri dönebilme özelliği. Her zaman en son sürümü kullanırsınız.

Microsoft tarafından barındırılan aracılar gereksinimlerinizi karşılamıyorsa, kendi kendi kendine barındırılan aracılarınızı dağıtabilir, ölçek kümesi aracılarını kullanabilir veya yönetilen DevOps Havuzlarınıkullanabilirsiniz.

Sıkça Sorulan Sorular (SSS)

Bir görüntüye hangi yazılımların dahil olduğunu nasıl görebilirim?

Yazılım tablosundaki Dahil Edilen Yazılım bağlantısını seçerek barındırılan her aracı için yüklü yazılımları görebilirsiniz.

Not Alın

Varsayılan olarak, Windows aracısı aracı yazılımıyla birlikte gelen Git sürümünü kullanır. Microsoft, Aracı ile birlikte gelen Git sürümünü kullanmanızı önerir, ancak bu varsayılan davranışı geçersiz kılmak ve aracı makinenin yolda yüklü olduğu Git sürümünü kullanmak için çeşitli seçenekleriniz vardır.

  • İşlem hatlarınızda System.PreferGitFromPath adlı bir işlem hattı değişkenini true olarak ayarlayın.
  • Şirket içinde barındırılan aracılarda, aracı kök dizininde .env adlı bir dosya oluşturabilir ve dosyaya bir System.PreferGitFromPath=true satır ekleyebilirsiniz. Daha fazla bilgi için bkz. Her bir acente için farklı ortam değişkenlerini nasıl ayarlayabilirim?

İşlem hattı tarafından kullanılan Git sürümünü görmek için, aşağıdaki örnekte gösterildiği gibi işlem hattınızdaki bir checkout adımın günlüklerine bakabilirsiniz.

Syncing repository: PathFilter (Git)
Prepending Path environment variable with directory containing 'git.exe'.
git version
git version 2.26.2.windows.1

Microsoft, görüntüye yerleştirileceği yazılımı ve sürümleri nasıl seçer?

Görüntülere dahil edilen yazılımların sürümleri hakkında daha fazla bilgi için bkz. Nelerin yüklendiğine ilişkin yönergeler.

Görüntüler ne zaman güncelleştiriliyor?

Görüntüler genellikle haftalık olarak güncelleştirilir. Durum rozetlerini biçimde kontrol edebilirsiniz ve ilk kısım görüntünün güncellendiği tarihi belirtir.

İhtiyacım olan yazılım kaldırılırsa veya daha yeni bir sürümle değiştirilirse ne yapabilirim?

Microsoft tarafından barındırılan aracı kullanma tablosundaki Dahil Edilen Yazılım bağlantılarını seçip bir GitHub sorunu bildirerek bize bildirebilirsiniz.

Ayrıca, ihtiyacınız olan yazılımın tam sürümlerini içeren şirket içinde barındırılan bir aracı da kullanabilirsiniz. Daha fazla bilgi için Kendi Sunucularınızda Barındırılan Etmenler bölümüne bakın.

Daha fazla işlem gücüne, belleğe veya disk alanına sahip daha büyük bir makineye ihtiyacım olursa ne olur?

Microsoft tarafından barındırılan aracılar için bellek, işlem gücü veya disk alanını artıramayız; ancak istediğiniz özelliklere sahip makinelerde barındırılan GitHub tarafından barındırılan aracıları, kendi kendine barındırılan aracıları, ölçek kümesi aracılarını veya Managed DevOps Pools kullanabilirsiniz.

Microsoft tarafından barındırılan bir aracı seçemiyorum ve derlememi veya dağıtımımı sıraya alamıyorum. Ne yapmalıyım?

Microsoft tarafından barındırılan aracılar yalnızca Azure Pipelines'da kullanılabilir, Azure DevOps Server'da kullanılamaz.

Varsayılan olarak, bir kuruluştaki tüm proje katılımcıları Microsoft tarafından barındırılan aracılara erişebilir. Ancak, kuruluş yöneticiniz Microsoft tarafından barındırılan aracıların erişimini kullanıcıları veya projeleri seçmek için sınırlayabilir. Azure DevOps kuruluşunuzun sahibinden size Microsoft tarafından barındırılan bir aracı kullanma izni vermesini isteyin. Bkz. ajan havuzu güvenliği.

Microsoft tarafından barındırılan ajanlarda çalıştırdığım işlem hatlarımın tamamlanması daha uzun sürüyor. Nasıl hızlandırabilirim?

İşlem hattınız kısa süre önce yavaşladıysa, kesintiler için durum sayfamızı gözden geçirin. Hizmetimizle ilgili sorun yaşıyor olabiliriz. Veya uygulama kodunuzda ya da işlem hattınızda yaptığınız değişiklikleri gözden geçirin. Check-out işlemi sırasında deponuzun boyutu artmış olabilir, daha büyük artifaktları karşıya yüklüyor olabilirsiniz veya daha fazla test yürütüyor olabilirsiniz.

Yalnızca bir işlem hattı ayarlayıp Microsoft tarafından barındırılan aracıların performansını yerel makinenizle veya şirket içinde barındırılan bir aracıyla karşılaştırıyorsanız, işlerinizi çalıştırmak için kullandığımız donanımın belirtimlerine dikkat edin. Size daha büyük veya güçlü makineler sağlayamıyoruz. Bu performans kabul edilebilir değilse şirket içinde barındırılan aracıları veya ölçek kümesi aracılarını ya da Yönetilen DevOps Havuzlarını kullanmayı düşünebilirsiniz.

Daha fazla ajana ihtiyacım var. Ne yapabilirim?

Tüm Azure DevOps kuruluşlar, kuruluş geçerli bir Azure aboneliğine bağlandığında özel projeler için her ay bir ücretsiz paralel iş ve 1.800 ücretsiz dakika (30 saat) alır. Özel projeniz için daha fazla dakika veya paralel iş gerekiyorsa daha fazla satın alın.

İşlem hattım kendi barındırdığımız aracılar üzerinde başarılı, ancak Microsoft tarafından barındırılan aracılarda başarısız oluyor. Ne yapmalıyım?

Kendi barındırdığınız aracınızda büyük olasılıkla tüm doğru bağımlılıklar yüklüyken, Microsoft tarafından barındırılan aracılarda aynı bağımlılıklar, araçlar ve yazılımlar yüklenmemiştir. İlk olarak, yukarıdaki tablodaki Dahil edilen yazılımlar bağlantısını izleyerek Microsoft tarafından barındırılan aracılara yüklenen yazılımların listesini dikkatlice gözden geçirin. Ardından, bunu kendi barındırdığınız ajanınızda yüklü olan yazılımla karşılaştırın. Bazı durumlarda, Microsoft tarafından barındırılan aracılar ihtiyacınız olan araçlara (örneğin, Visual Studio) sahip olabilir, ancak gerekli isteğe bağlı bileşenlerin tümü yüklenmemiş olabilir. Farklar bulursanız iki seçeneğiniz vardır:

  • Ek yazılım isteklerini takip ettiğimiz depoda yeni bir sorun oluşturabilirsiniz. Desteğe başvurmak, Microsoft tarafından barındırılan aracılarda yeni yazılım ayarlamanıza yardımcı olamaz.

  • Kendi kendine barındırılan aracıları veya ölçek kümesi aracılarını veya Yönetilen DevOps Havuzlarını kullanabilirsiniz. Bu aracılarla, işlem hatlarınızı çalıştırmak için kullanılan görüntülerin denetimi tamamen size ait olur.

Derlemem yerel makinemde başarılı ama Microsoft tarafından barındırılan aracılarda başarısız oluyor. Ne yapmalıyım?

Yerel makinenizde büyük olasılıkla tüm doğru bağımlılıklar yüklüyken, microsoft tarafından barındırılan aracılarda aynı bağımlılıklar, araçlar ve yazılımlar yüklü değildir. İlk olarak, yukarıdaki tablodaki Dahil edilen yazılımlar bağlantısını izleyerek Microsoft tarafından barındırılan aracılara yüklenen yazılımların listesini dikkatlice gözden geçirin. Ardından, bunu yerel makinenizde yüklü yazılımla karşılaştırın. Bazı durumlarda, Microsoft tarafından barındırılan aracılar ihtiyacınız olan araçlara (örneğin, Visual Studio) sahip olabilir, ancak gerekli isteğe bağlı bileşenlerin tümü yüklenmemiş olabilir. Farklar bulursanız iki seçeneğiniz vardır:

  • Ek yazılım isteklerini takip ettiğimiz depoda yeni bir sorun oluşturabilirsiniz. Bu, yeni yazılım yüklemek için en iyi seçeneğinizdir. Desteğe başvurmak, Microsoft tarafından barındırılan aracılarda yeni yazılım ayarlamanıza yardımcı olmaz.

  • Kendi kendine barındırılan aracıları veya ölçek kümesi aracılarını veya Yönetilen DevOps Havuzlarını kullanabilirsiniz. Bu aracılarla, işlem hatlarınızı çalıştırmak için kullanılan görüntülerin denetimi tamamen size ait olur.

İşlem hattım şu hatayla başarısız oluyor: "Cihazda yer kalmadı".

Microsoft tarafından barındırılan aracılarda işinizi çalıştırmak için yalnızca 10 GB kullanılabilir disk alanı vardır. Bu alan, kaynak kodu kullanıma aldığınızda, paketleri indirdiğinizde, docker görüntülerini indirdiğinizde veya ara dosyalar oluştururken kullanılır. Ne yazık ki Microsoft tarafından barındırılan görüntülerde kullanılabilir boş alanı artıramıyoruz. İşlem hattınızı bu alana sığacak şekilde yeniden yapılandırabilirsiniz. Ya da, şirket içinde barındırılan aracıları, ölçek kümesi aracılarını veya yönetilen DevOps Havuzlarını kullanmayı düşünebilirsiniz.

Microsoft tarafından barındırılan aracılarda çalışan işlem hattım, şirket ağımızdaki sunuculara erişim gerektiriyor. Güvenlik duvarımızda izin vermek için IP adreslerinin listesini nasıl alacağız?

Aracı IP aralıkları bölümüne bakın

Microsoft tarafından barındırılan aracılarda çalışan işlem hattımız, şirket ağımızdaki bir sunucunun adını çözümleyemiyor. Bunu nasıl düzeltebiliriz?

Sunucuya DNS adıyla başvurursanız, sunucunuzun DNS adı üzerinden İnternet'te genel olarak erişilebilir olduğundan emin olun. Sunucunuza IP adresiyle başvuruda bulunursanız, IP adresinin İnternet'te genel olarak erişilebilir olduğundan emin olun. Her iki durumda da aracılar ve şirket ağınız arasındaki tüm güvenlik duvarlarının aracı IP aralıklarına izin verdiğinden emin olun.

Azure Depolama hesabından SAS IP yetkilendirme hatası alıyorum

SAS hata kodu alırsanız, bunun nedeni büyük olasılıkla Azure Depolama kurallarınızdan dolayı Microsoft tarafından barındırılan aracıların IP adresi aralıklarına izin verilmemesidir. Birkaç geçici çözüm vardır:

  1. Azure Depolama hesabınızın IP ağ kurallarını yönetin ve barındırılan aracılarınız için IP adresi aralıklarını ekleyin.
  2. İşlem hattınızda, depolamaya erişmeden hemen önce Azure Depolama hesabınızın ağ kural kümesini güncelleştirmek ve ardından önceki kural kümesini geri yüklemek için Azure CLI'yi kullanın.
  3. Şirket içinde barındırılan aracılar veya Ölçek kümesi aracıları veya Yönetilen DevOps Havuzları kullanın.

Barındırılan macOS aracısında araçların sürümlerini el ile nasıl seçebilirim?

Xcode

Azure Pipelines ve Azure DevOps Server ile birlikte gelen Xcode görevini kullanıyorsanız, bu görevin özelliklerinde bir Xcode sürümü seçebilirsiniz. Aksi takdirde, xcode sürümünü macOS görüntülerinde kullanılacak şekilde el ile ayarlamak için, derleme görevinizden xcodebuild önce bu komut satırını derlemenizin bir parçası olarak yürüterek Xcode sürüm numarası 13.2'yi gerektiği gibi değiştirin:

/bin/bash -c "sudo xcode-select -s /Applications/Xcode_13.2.app/Contents/Developer"

macOS görüntülerindeki Xcode sürümlerine buradan ulaşabilirsiniz.

Mono

macOS görüntülerinde kullanılacak bir Mono sürümünü el ile seçmek için (mono'yi desteklemeyen ARM64 görüntüsü dışında), bu betiği Mono derleme görevinizden önce derlemenizin her işinde yürütün ve gerekli Mono sürümüyle symlink'i belirtin:

SYMLINK=<symlink>
MONOPREFIX=/Library/Frameworks/Mono.framework/Versions/$SYMLINK
echo "##vso[task.setvariable variable=DYLD_FALLBACK_LIBRARY_PATH;]$MONOPREFIX/lib:/lib:/usr/lib:$DYLD_LIBRARY_FALLBACK_PATH"
echo "##vso[task.setvariable variable=PKG_CONFIG_PATH;]$MONOPREFIX/lib/pkgconfig:$MONOPREFIX/share/pkgconfig:$PKG_CONFIG_PATH"
echo "##vso[task.setvariable variable=PATH;]$MONOPREFIX/bin:$PATH"