Azure Pipelines aracıları

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Kodunuzu oluşturmak veya Azure Pipelines kullanarak 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 ekledikten sonra daha fazlasına ihtiyacınız olacaktır.

İşlem hattınız çalıştığında sistem bir veya daha fazla iş başlatır. Aracı, bir kerede bir iş çalıştıran yüklü aracı yazılımıyla altyapıyı bilgi işlemdir.

Azure Pipelines birkaç farklı aracı türü sağlar.

Aracı türü Açıklama Kullanılabilirlik
Microsoft tarafından barındırılan aracılar Microsoft tarafından barındırılan ve yönetilen aracılar Azure DevOps Services
Şirket içinde barındırılan aracılar Yapılandırdığınız ve yönettiğiniz, VM'lerinizde barındırılan aracılar Azure DevOps Services, Azure DevOps Server
Azure Sanal Makine Ölçek Kümesi aracıları Azure Sanal Makine Ölçek Kümeleri kullanan ve talepleri karşılamak için otomatik olarak ölçeklendirilebilen, şirket içinde barındırılan aracılar biçimi Azure DevOps Services

İşler doğrudan aracının konak makinesinde veya bir kapsayıcıda çalıştırılabilir.

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

İşlem hatlarınız Azure Pipelines'daysa, microsoft tarafından barındırılan bir aracı kullanarak işlerinizi çalıştırmak için uygun bir seçeneğiniz vardır. Microsoft tarafından barındırılan aracılarda bakım ve yükseltme işlemleri sizin için yapılır. İşlem hattınızda belirttiğiniz VM görüntüsünün her zaman en son sürümünü alırsınız. İş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 işin ardından atılır (başka bir deyişle, bir işin sanal makine dosya sisteminde yaptığı kod kullanıma alma gibi tüm değişiklikler bir sonraki iş için kullanılamaz). 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şlerinizi çalıştırmanın en kolay yoludur. Önce deneyebilir ve derlemeniz veya dağıtımınız için çalışıp çalışmadığını görebilirsiniz. Aksi takdirde ölçek kümesi aracılarını veya şirket içinde barındırılan aracıyı kullanabilirsiniz.

İpucu

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

Microsoft tarafından barındırılan aracılar hakkında daha fazla bilgi edinin.

Şirket içinde barındırılan aracılar

İşleri çalıştırmak için kendi başınıza ayarlayıp yönettiğiniz bir aracı, şirket içinde barındırılan bir aracıdır. Şirket içinde barındırılan aracıları Azure Pipelines’da veya eski adı Team Foundation Server (TFS) olan Azure DevOps Server’da kullanabilirsiniz. Şirket içi barındırılan aracılar, derlemeleriniz ve dağıtımlarınız için gereken bağımlı yazılımları yükleme konusunda daha fazla denetim sahibi olmanızı sağlar. Ayrıca makine düzeyindeki önbellekler ve yapılandırma çalıştırmadan çalıştırmaya kadar devam eder ve bu da hızı artırabilir.

Not

Makine başına birden çok aracı yüklense de, makine başına yalnızca bir aracı yüklemenizi kesinlikle öneririz. İki veya daha fazla aracı yüklemek performansı ve işlem hatlarınızın sonucunu olumsuz etkileyebilir.

İpucu

Şirket içinde barındırılan bir aracı yüklemeden önce Microsoft tarafından barındırılan bir aracı havuzunun sizin için çalışıp çalışmayacağını görmek isteyebilirsiniz. Çoğu durumda bu, başlamanın en basit yoludur. Bir deneyin.

Aracıyı Linux, macOS veya Windows makinelerine yükleyebilirsiniz. Aracıyı Docker kapsayıcısına da yükleyebilirsiniz. Şirket içinde barındırılan aracıyı yükleme hakkında daha fazla bilgi için aşağıdakilere göz atın:

Not

macOS'ta, çalıştırıldığında ./config.sh Gatekeeper korumasının tar dosyasındaki her derleme için görüntülenmesini önlemek için indirme arşivindeki özel özniteliği temizlemeniz gerekir. Aşağıdaki komut, dosyadaki genişletilmiş özniteliği temizler:

xattr -c vsts-agent-osx-x64-V.v.v.tar.gz  ## replace V.v.v with the version in the filename downloaded.

# then unpack the gzip tar file normally:

tar xvfz vsts-agent-osx-x64-V.v.v.tar.gz

Aracıyı bir makineye yükledikten sonra ilgili makineye işleriniz için gerekli olan diğer yazılımları yükleyebilirsiniz.

Not

Aracılar büyük ölçüde geriye dönük olarak uyumludur. Azure DevOps aracının daha yüksek bir sürümünü talep etmediği sürece aracının herhangi bir sürümü herhangi bir Azure DevOps sürümüyle uyumlu olmalıdır.

Tüm güncel düzeltme eklerine ve hata düzeltmelerine sahip olması garanti edilen tek sürüm olduğundan yalnızca aracının en son sürümünü destekliyoruz.

Düğüm çalıştırıcı sürümleri

Aracı, farklı Node işleyicileri kullanan hedef görevleri desteklemek için NodeJS kitaplıklarının birkaç sürümüyle birlikte sağlanır.

Tüm resmi Azure DevOps görevleri evrensel işleyici olarak Node 10 kullanır, ancak müşteriler yine de güncel olmayan Node 6 kitaplığını kullanan özel görevler kullanabilir. Şu anda Kullanım Süresi Sonuna ulaşmış olan Node ile geriye dönük uyumluluğu desteklemek için, belirlenen Node çalıştırıcısını el ile yüklemek için aşağıdaki self servis yöntemlerini sağlıyoruz.

Azure Sanal Makine Ölçek Kümesi aracıları

Azure Sanal Makine Ölçek Kümesi aracıları, taleplerinizi karşılamak için otomatik olarak ölçeklendirilebilen şirket içinde barındırılan aracıların bir biçimidir. Bu esneklik, ayrılmış aracıları sürekli çalıştırma gereksiniminizi azaltır. Microsoft tarafından barındırılan aracılardan farklı olarak aracıların üzerinde çalıştığı makinelerin boyutu ve görüntüsü üzerinde de esnekliğe sahip olursunuz.

Bir Sanal Makine Ölçek Kümesi, beklemede tutulacak bir dizi aracı, ölçek kümesinde en fazla sayıda sanal makine belirtirsiniz ve Azure Pipelines aracılarınızın ölçeklendirmesini sizin yerinize yönetir.

Daha fazla bilgi için bkz . Azure Sanal Makine Ölçek Kümesi aracıları.

Paralel işler

Paralel işler , kuruluşunuzda aynı anda çalıştırabileceğiniz iş sayısını temsil eder. Kuruluşunuzun tek bir paralel işi varsa, ilk iş tamamlanana kadar ek eş zamanlı işler kuyruğa alınırken, kuruluşunuzda aynı anda tek bir iş çalıştırabilirsiniz. İki işi aynı anda çalıştırmak için iki paralel iş gerekir. Azure Pipelines'da Microsoft tarafından barındırılan altyapıda veya kendi (şirket içinde barındırılan) altyapınızda paralel işler çalıştırabilirsiniz.

Microsoft, en az bir paralel iş içeren her kuruluşta varsayılan olarak ücretsiz bir hizmet katmanı sağlar. Çalıştırmanız gereken eşzamanlı işlem hattı sayısına bağlı olarak, microsoft tarafından barındırılan veya şirket içinde barındırılan birden çok aracıyı aynı anda kullanmak için daha fazla paralel iş gerekebilir. Paralel işler ve farklı ücretsiz hizmet katmanları hakkında daha fazla bilgi için bkz . Azure Pipelines'da paralel işler.

Aynı anda birden çok aracı kullanmak için daha fazla paralel iş gerekebilir:

Önemli

Azure DevOps Server 2019'dan başlayarak, sürümlerde şirket içinde barındırılan eşzamanlı işler için ödeme yapmanız gerekmez. Yalnızca sahip olduğunuz aracı sayısıyla sınırlıdır.

Özellikler

Şirket içinde barındırılan her aracı, neler yapabileceğini gösteren bir dizi özelliğe sahiptir. Yetenekler, aracı yazılımı tarafından otomatik olarak bulunan ad-değer çiftleridir; bu durumda bunlara sistem özellikleri veya tanımladığınız özellikler denir ve bu durumda bunlar kullanıcı özellikleri olarak adlandırılır.

Aracı yazılımı makinenin adı, işletim sistemi türü ve makinede yüklü olan belirli yazılımların sürümleri gibi çeşitli sistem özelliklerini otomatik olarak belirler. Ayrıca, makinede tanımlanan ortam değişkenleri otomatik olarak sistem özellikleri listesinde görünür.

Not

Ortam değişkenlerini özellik olarak depolamak, aracı çalıştırıldığında ortam değişkenlerini ayarlamak için depolanan yetenek değerlerinin kullanıldığı anlamına gelir. Ayrıca, aracı çalışırken yapılan ortam değişkenlerinde yapılan değişiklikler hiçbir görev tarafından alınmaz ve kullanılmaz. Değişen hassas ortam değişkenleriniz varsa ve bunların yetenek olarak depolanmasını istemiyorsanız, ortam değişkenini ayarlayarak VSO_AGENT_IGNORE yoksaymalarını sağlayabilir ve yoksayılacak değişkenlerin virgülle ayrılmış bir listesini kullanabilirsiniz. Örneğin, PATH yazılım yüklüyorsanız yoksaymak isteyebileceğiniz kritik bir değişkendir.

bir işlem hattı yazarken, aracının belirli taleplerini belirtirsiniz. Sistem işi yalnızca işlem hattında belirtilen taleplerle eşleşen özelliklere sahip aracılara gönderir. Sonuç olarak, aracı özellikleri işleri belirli aracılara yönlendirmenizi sağlar.

Not

talepler ve özellikler, işlerin işin gereksinimlerini karşılayan bir aracıyla eşleştirilmesi için şirket içinde barındırılan aracılarla kullanılmak üzere tasarlanmıştır. Microsoft tarafından barındırılan aracıları kullanırken, aracı için işin gereksinimleriyle eşleşen bir görüntü seçersiniz, bu nedenle Microsoft tarafından barındırılan bir aracıya özellik eklemek mümkün olsa da, Microsoft tarafından barındırılan aracılarla özellikleri kullanmanız gerekmez.

Talepleri yapılandırma

YAML derleme işlem hattınıza talep eklemek için pool satırı bölümüne ekleyindemands:.

pool:
  name: Default
  demands: SpecialSoftware # exists check for SpecialSoftware

Bir özelliğin varlığını denetleyebilir veya bir özelliğin değeriyle karşılaştırma yapabilirsiniz. Daha fazla bilgi için bkz . YAML şeması - Talepler.

Aracı özelliklerini yapılandırma

Aracı havuzlarına gidip istenen aracı için Özellikler sekmesini seçerek aracının sürümü ve sistem özellikleri dahil olmak üzere ayrıntılarını görüntüleyebilir ve kullanıcı özelliklerini yönetebilirsiniz.

  1. Web tarayıcınızda Aracı havuzları'na gidin:

    1. Kuruluşunuzda (https://dev.azure.com/{yourorganization}) oturum açın.

    2. Azure DevOps, Kuruluş ayarları'nı seçin.

      Kuruluş ayarları'nı seçin.

    3. Aracı havuzları'nı seçin.

      Aracı havuzları sekmesini seçin.

    1. Proje koleksiyonunuzda (http://your-server/DefaultCollection) oturum açın.

    2. Azure DevOps, Koleksiyon ayarları'nı seçin.

      Koleksiyon ayarları'nı seçin.

    3. Aracı havuzları'nı seçin.

      Aracı havuzları'nı seçin.

    1. Azure DevOps, Koleksiyon ayarları'nı seçin.

      Koleksiyon ayarları, 2019.

    2. Aracı havuzları'nı seçin.

      Aracı havuzları, 2019'u seçin.

  2. Yetenekler sekmesine gidin:

    1. Aracı havuzları sekmesinden istediğiniz aracı havuzunu seçin.

      Aracı havuzlarından istediğiniz aracı havuzunu seçin.

    2. Aracılar'ı seçin ve istediğiniz aracıyı seçin.

      Aracılar'ı seçin ve aracıyı seçin.

    3. Özellikler sekmesini seçin.

      Özellikler sekmesini seçin.

      Not

      Microsoft tarafından barındırılan aracılar sistem özelliklerini görüntülemez. Microsoft tarafından barındırılan aracılarda yüklü yazılımların listesi için bkz . Microsoft tarafından barındırılan aracı kullanma.

    1. Aracı havuzları sekmesinden istediğiniz havuzu seçin.

      İstediğiniz havuzu seçin.

    2. Aracılar'ı seçin ve istediğiniz aracıyı seçin.

      Aracılar'ı seçin ve istediğiniz aracıyı seçin.

    3. Özellikler sekmesini seçin.

      Aracı özellikleri sekmesi.

    1. Aracı havuzları sekmesinden istediğiniz havuzu seçin.

      İstediğiniz sekme olan 2019'ı seçin.

    2. Aracılar'ı seçin ve istediğiniz aracıyı seçin.

      İstenen aracıyı seçin, 2019.

    3. Özellikler sekmesini seçin.

      Özellikler sekmesini seçin, 2019.

  3. Aracıya yeni bir özellik kaydetmek için Yeni özellik ekle'yi seçin.

İpucu

Şirket içinde barındırılan bir aracıya yeni yazılım yükledikten sonra, yeni özelliğin görünmesi için aracıyı yeniden başlatmanız gerekir. Daha fazla bilgi için bkz . Windows aracısını yeniden başlatma, Linux aracısını yeniden başlatma ve Mac aracısını yeniden başlatma.

İletişim

Azure Pipelines ile İletişim

Azure DevOps Server ile iletişim

Aracı, çalıştırılması gereken işi belirlemek, günlükleri ve iş durumunu raporlamak için Azure Pipelines veya Azure DevOps Server ile iletişim kurar. Bu iletişim her zaman aracı tarafından başlatılır. Aracıyı nasıl yapılandırdığınıza bağlı olarak aracıdan Azure Pipelines’a veya Azure DevOps Server’a gönderilen tüm iletiler HTTP veya HTTPS üzerinden gider. Bu çekme modeli, aracının aşağıda gösterilen farklı topolojilerde yapılandırılmasını sağlar.

Şirket içi yüklemelerde aracı topolojileri.

Azure DevOps Services'de aracı topolojileri.

Aracı ile Azure Pipelines veya Azure DevOps Server arasında kurulan yaygın bir iletişim düzeni aşağıda gösterilmiştir.

  1. Kullanıcı, aracıyı bir aracı havuzuna ekleyerek Azure Pipelines veya Azure DevOps Server'a kaydeder. Aracıyı bu aracı havuzuna kaydetmek için aracı havuzu yöneticisi olmanız gerekir. Aracı havuzu yöneticisinin kimliği yalnızca kayıt sırasında gereklidir ve aracıda kalıcı olmaz veya aracı ile Azure Pipelines veya Azure DevOps Server arasındaki başka bir iletişimde kullanılmaz. Kayıt tamamlandıktan sonra aracı bir dinleyici OAuth belirtecini indirir ve bunu iş kuyruğuna dinlemek için kullanır.

  2. Aracı, HTTP uzun yoklaması kullanarak Azure Pipelines/Azure DevOps Server iş kuyruğuna yeni bir iş isteği gönderilip gönderilmediğini dinler. Bir iş kullanılabilir olduğunda aracı işi ve işe özgü OAuth belirtecini indirir. Bu belirteç, işlem hattında belirtilen kapsamlı kimlik için Azure Pipelines/Azure DevOps Server tarafından oluşturulur. Bu belirteç kısa ömürlüdür ve aracı tarafından Azure Pipelines veya Azure DevOps Server’daki iş kaynaklarına (örneğin, kaynak kodu) erişmek veya kaynakları değiştirmek (örneğin, test sonuçlarını karşıya yüklemek) için kullanılır.

  3. İş tamamlandıktan sonra aracı, işe özgü OAuth belirtecini atar ve dinleyici OAuth belirtecini kullanarak yeni bir iş isteği olup olmadığını denetleme sürecine geri döner.

Aracı ile Azure Pipelines/Azure DevOps Server arasında gönderilip alınan iletilerin yükü, asimetrik şifreleme kullanılarak güvenli hale getirilir. Her aracının ortak-özel anahtar çifti vardır ve ortak anahtar kayıt sırasında sunucuya gönderilir. Sunucu, işin yükünü aracıya göndermeden önce şifrelemek için ortak anahtarı kullanır. Aracı, özel anahtarını kullanarak iş içeriğinin şifresini çözer. İşlem hatlarında veya değişken gruplarında depolanan gizli diziler de aracıya gönderilirken bu şekilde güvenli hale getirilir.

Not

Aracı UTF-8 istemci kodlama çıkışı için destek sağlar. Ancak, sisteminizin UTF-8'den farklı bir kodlaması varsa, günlüklerin çıkışında bazı sorunlarla karşılaşabilirsiniz. Örneğin, günlükler sisteminizin kodlaması tarafından tanınmayan karakterler içerebilir, bu nedenle bozuk veya eksik simgeler olarak görünebilirler.

Hedef sunuculara dağıtılacak iletişim

Aracıyı kullanarak yapıtları bir sunucu kümesine dağıttığınızda bu sunucularla “görüş hattı” bağlantısı kurulması gerekir. Microsoft tarafından barındırılan aracı havuzlarının varsayılan olarak Azure web sitelerine ve Azure’da çalışan sunuculara bağlantısı vardır.

Not

Azure kaynaklarınız bir Azure Sanal Ağ çalışıyorsa Microsoft tarafından barındırılan aracıların dağıtıldığı Aracı IP aralıklarını alabilirsiniz, böylece Azure sanal ağınız için güvenlik duvarı kurallarını aracı tarafından erişime izin verecek şekilde yapılandırabilirsiniz.

Şirket içi ortamlarınızın Microsoft tarafından barındırılan bir aracı havuzuna bağlantısı yoksa (bu durum genellikle ara güvenlik duvarlarından kaynaklanır), şirket içi bilgisayarlarda şirket içinde barındırılan bir aracıyı el ile yapılandırmanız gerekir. Aracıların aşağıdaki şemada gösterildiği gibi Azure Pipelines veya Team Foundation Server’a bağlanmak için hedef şirket içi ortamlara ve internete bağlanabiliyor olması gerekir.

Şirket içi ortamlar için aracı bağlantısı

Kimlik Doğrulaması

Bir aracıyı kaydetmek için aracı havuzundaki yönetici rolünün üyesi olmanız gerekir. Aracı havuzu yöneticisinin kimliği yalnızca kayıt sırasında gereklidir ve aracıda kalıcı olmaz veya aracı ile Azure Pipelines veya Azure DevOps Server arasındaki sonraki iletişimlerde kullanılmaz. Ayrıca aracıyı yapılandırmak için sunucuda yerel yönetici olmanız gerekir.

Bir aracıyı kaydettiğinizde, aşağıdaki kimlik doğrulama türlerinden birini seçin; aracı kurulumu sizden her kimlik doğrulama türü için gereken belirli ek bilgileri ister. Daha fazla bilgi için bkz . Şirket içinde barındırılan aracı kimlik doğrulama seçenekleri.

Windows aracıları, Azure DevOps Server'da aşağıdaki iki ek kimlik doğrulama seçeneğine sahiptir.

Önemli

Sunucunuz Alternatif, Anlaşma veya Tümleşik kimlik doğrulaması kullanmak için kimlik doğrulama yöntemini destekleyecek şekilde yapılandırılmalıdır.

Aracıyı kaydetmek için kullanılan kimlik doğrulama yöntemi yalnızca aracı kaydı sırasında kullanılır. Kayıt sonrasında aracıların Azure Pipelines ile nasıl iletişim kuracakları hakkında daha fazla bilgi edinmek için bkz . Azure Pipelines veya Azure DevOps Server ile iletişim.

Etkileşimli veya hizmet

Şirket içinde barındırılan aracınızı bir hizmet veya etkileşimli bir işlem olarak çalıştırabilirsiniz. Aracıyı yapılandırdıktan sonra çalıştığından emin olmak için önce etkileşimli modda denemeniz önerilir. Ardından üretim ortamında kullanmak için güvenilir bir şekilde çalışır durumda kalması amacıyla aracıyı aşağıdaki modlardan birinde çalıştırmanız önerilir. Bu modlar, makine yeniden başlatılırsa aracının otomatik olarak başlatılmasını da sağlar.

  1. Hizmet olarak. Aracının yaşam döngüsünü yönetmek için işletim sisteminin hizmet yöneticisinden yararlanabilirsiniz. Ayrıca aracı bir hizmet olarak çalıştırıldığında aracıyı otomatik yükseltme deneyimi daha iyi çalışır.

  2. Otomatik oturum açma etkin etkileşimli bir işlem olarak. Bazı durumlarda aracıyı üretim ortamı kullanımı için etkileşimli olarak çalıştırmanız gerekebilir (örneğin, kullanıcı arabirimi testlerini çalıştırmak için). Aracı bu modda çalışacak şekilde yapılandırıldığında ekran koruyucu da devre dışı bırakılır. Bazı etki alanı ilkeleri otomatik oturum açmayı etkinleştirmenizi veya ekran koruyucuyu devre dışı bırakmanızı engelleyebilir. Böyle durumlarda, etki alanı ilkesinden muafiyet istemeniz veya aracıyı etki alanı ilkelerinin uygulanmadığı bir çalışma grubu bilgisayarında çalıştırmanız gerekebilir.

    Not

    Diğer kullanıcıların bilgisayara gelip otomatik olarak oturum açan hesabı kullanmasını sağladığınız için otomatik oturum açmayı etkinleştirdiğinizde veya ekran koruyucuyu devre dışı bırakırken güvenlik riskleri vardır. Aracıyı bu şekilde çalışacak şekilde yapılandırdığınızda, bilgisayarın fiziksel olarak korunduğundan emin olmanız gerekir; örneğin, güvenli bir tesiste bulunur. Otomatik oturum açma ile bir aracının çalıştığı bilgisayara erişmek için Uzak Masaüstü'nü kullanırsanız, Uzak Masaüstü'nü kapatmanız bilgisayarın kilitlenmesine neden olur ve bu aracıda çalışan tüm ui testleri başarısız olabilir. Bunu önlemek için Uzak Masaüstü bağlantısını kesmek için tscon komutunu kullanın. Örneğin:

    %windir%\System32\tscon.exe 1 /dest:console

Aracı hesabı

Bir aracıyı hizmet olarak veya etkileşimli olarak çalıştırdığınızda, aracıyı çalıştırmak için hangi bilgisayar hesabını kullanacağınızı seçebilirsiniz. (Bunun aracıyı Azure Pipelines veya Azure DevOps Server'a kaydederken kullandığınız kimlik bilgilerinden farklı olduğunu unutmayın.) Aracı hesabı seçimi yalnızca derleme ve dağıtım işlerinizde çalışan görevlerin gereksinimlerine bağlıdır.

Örneğin, dış hizmete erişmek için Windows kimlik doğrulamasını kullanan görevleri çalıştırmak için aracıyı bu hizmete erişimi olan bir hesap kullanarak çalıştırmanız gerekir. Ancak, tarayıcı gerektiren Selenium veya Kodlanmış UI testleri gibi ui testleri çalıştırıyorsanız, tarayıcı aracı hesabı bağlamında başlatılır.

Windows'da Ağ Hizmeti veya Yerel Hizmet gibi bir hizmet hesabı kullanmayı düşünmelisiniz. Bu hesapların kısıtlı izinleri vardır ve parolalarının süresi dolmaz, yani aracı zaman içinde daha az yönetim gerektirir.

Aracı sürümü ve yükseltmeleri

Azure Pipelines'ta aracı yazılımını birkaç haftada bir güncelleştiriyoruz. Aracı sürümünü biçiminde {major}.{minor}belirtiriz. Örneğin aracı sürümü ise 2.1ana sürüm 2, ikincil sürüm ise 1 olur.

Microsoft tarafından barındırılan aracılar her zaman güncel tutulur. Aracının daha yeni sürümü yalnızca ikincil sürümde farklıysa, şirket içinde barındırılan aracılar genellikle Azure Pipelines tarafından otomatik olarak güncelleştirilebilir (aracı havuzlarında bu ayarı yapılandırın, aracınızı seçin Ayarlar - varsayılan etkindir). Bir platform özelliği veya işlem hattında kullanılan görevlerden biri aracının daha yeni bir sürümünü gerektirdiğinde yükseltme istenir.

Şirket içinde barındırılan bir aracıyı etkileşimli olarak çalıştırırsanız veya aracının daha yeni bir ana sürümü varsa aracıları el ile yükseltmeniz gerekebilir. Bunu kuruluşunuzun altındaki Aracı havuzları sekmesinden kolayca yapabilirsiniz. İşlem hatlarınız uyumlu bir aracıyı hedefleyene kadar çalışmaz.

Şirket içinde barındırılan aracıları güncelleştirmek için

  1. Proje ayarları, Aracı havuzları'na gidin.

    Proje ayarları, Aracı havuzları

  2. Aracı havuzunuzu seçin ve Tüm aracıları güncelleştir'i seçin.

    Tüm aracıları güncelleştirme

    Aracıları tek tek güncelleştirmek için ... menüsünden Aracıyı güncelleştir'i de seçebilirsiniz.

    Aracıyı güncelleştirme

  3. Güncelleştirmeyi onaylamak için Güncelleştir'i seçin.

    Tüm aracıları güncelleştirme onayı

  4. Havuzdaki her aracı için bir güncelleştirme isteği kuyruğa alınır ve şu anda çalışan işler tamamlandığında çalışır. Yükseltme işlemi genellikle yalnızca birkaç dakika sürer. Aracı yazılımının en son sürümünü (yaklaşık 200 MB) indirip sıkıştırmasını açıp aracıyı yeni sürümle yeniden başlatın. Aracılarınızın durumunu Aracılar sekmesinden izleyebilirsiniz.

Aracı yazılımını Azure DevOps Server'daki her güncelleştirmeyle güncelleştiriyoruz. Aracı sürümünü biçiminde {major}.{minor}belirtiriz. Örneğin aracı sürümü ise 2.1ana sürüm 2, ikincil sürüm ise 1 olur.

Azure DevOps Sunucunuz aracının daha yeni bir sürümüne sahipse ve bu yeni aracı yalnızca ikincil sürümde farklıysa, genellikle otomatik olarak yükseltilebilir. Bir platform özelliği veya işlem hattında kullanılan görevlerden biri aracının daha yeni bir sürümünü gerektirdiğinde yükseltme istenir. Azure DevOps Server 2019'dan başlayarak yeni bir sunucu sürümünü beklemeniz gerekmez. Aracının yeni bir sürümünü uygulama katmanınıza yükleyebilirsiniz ve bu sürüm yükseltme olarak sunulur.

Aracıyı etkileşimli olarak çalıştırırsanız veya aracının daha yeni bir ana sürümü varsa aracıları el ile yükseltmeniz gerekebilir. Bunu proje koleksiyonunuzun altındaki Aracı havuzları sekmesinden kolayca yapabilirsiniz. İşlem hatlarınız uyumlu bir aracıyı hedefleyene kadar çalışmaz.

Aracı özelliklerini yapılandırma bölümünde açıklandığı gibi Aracı havuzlarınagidip istenen aracı için Özellikler sekmesini seçerek aracının sürümünü görüntüleyebilirsiniz.

Aracı güncelleştirmesini program aracılığıyla tetikleme için Aracı güncelleştirme API'sini belirli aracı havuzu için program aracılığıyla aracı güncelleştirmelerini nasıl tetikleyebilirim? bölümünde açıklandığı gibi kullanabilirsiniz.

Not

İnternet erişimi olmayan sunucular için aracı zip dosyasını yerel dosya olarak kullanmak üzere aşağıdaki klasöre el ile kopyalayın. Aracılar klasörü yoksa oluşturun.

  • Windows: %ProgramData%\Microsoft\Azure DevOps\Agents
  • Linux: usr/share/Microsoft/Azure DevOps/Agents
  • Macos: usr/share/Microsoft/Azure DevOps/Agents

Aracılar klasörü yoksa oluşturun.

SSS

Nasıl yaparım? en son v2 aracı sürümüne sahip olduğumdan emin olun?

  1. Aracı havuzları sekmesine gidin:

    1. Kuruluşunuzda (https://dev.azure.com/{yourorganization}) oturum açın.

    2. Azure DevOps, Kuruluş ayarları'nı seçin.

      Kuruluş ayarları'nı seçin.

    3. Aracı havuzları'nı seçin.

      Aracı havuzları sekmesini seçin.

    1. Proje koleksiyonunuzda (http://your-server/DefaultCollection) oturum açın.

    2. Azure DevOps, Koleksiyon ayarları'nı seçin.

      Koleksiyon ayarları'nı seçin.

    3. Aracı havuzları'nı seçin.

      Aracı havuzları'nı seçin.

    1. Azure DevOps, Koleksiyon ayarları'nı seçin.

      Koleksiyon ayarları, 2019.

    2. Aracı havuzları'nı seçin.

      Aracı havuzları, 2019'u seçin.

  2. Aracıyı içeren havuza tıklayın.

  3. Aracının etkinleştirildiğinden emin olun.

  4. Yetenekler sekmesine gidin:

    1. Aracı havuzları sekmesinden istediğiniz aracı havuzunu seçin.

      Aracı havuzlarından istediğiniz aracı havuzunu seçin.

    2. Aracılar'ı seçin ve istediğiniz aracıyı seçin.

      Aracılar'ı seçin ve aracıyı seçin.

    3. Özellikler sekmesini seçin.

      Özellikler sekmesini seçin.

      Not

      Microsoft tarafından barındırılan aracılar sistem özelliklerini görüntülemez. Microsoft tarafından barındırılan aracılarda yüklü yazılımların listesi için bkz . Microsoft tarafından barındırılan aracı kullanma.

    1. Aracı havuzları sekmesinden istediğiniz havuzu seçin.

      İstediğiniz havuzu seçin.

    2. Aracılar'ı seçin ve istediğiniz aracıyı seçin.

      Aracılar'ı seçin ve istediğiniz aracıyı seçin.

    3. Özellikler sekmesini seçin.

      Aracı özellikleri sekmesi.

    1. Aracı havuzları sekmesinden istediğiniz havuzu seçin.

      İstediğiniz sekme olan 2019'ı seçin.

    2. Aracılar'ı seçin ve istediğiniz aracıyı seçin.

      İstenen aracıyı seçin, 2019.

    3. Özellikler sekmesini seçin.

      Özellikler sekmesini seçin, 2019.

  5. Yeteneği arayın Agent.Version . Bu değeri en son yayımlanan aracı sürümüyle karşılaştırabilirsiniz. Bkz . Azure Pipelines Aracısı ve listelenen en yüksek sürüm numarası için sayfayı denetleyin.

  6. Her aracı, aracının daha yeni bir sürümünü gerektiren bir görev çalıştırdığında kendisini otomatik olarak güncelleştirir. Bazı aracıları el ile güncelleştirmek istiyorsanız havuza sağ tıklayın ve Tüm aracıları güncelleştir'i seçin.

Azure DevOps Server havuzunun parçası olan v2 aracılarımı güncelleştirebilir miyim?

Evet. Azure DevOps Server 2019'da başlayarak, sunucunuzu yerel diskte aracı paketi dosyalarını aramak üzere yapılandırabilirsiniz. Bu yapılandırma, yayınlandığı sırada sunucuyla birlikte gelen varsayılan sürümü geçersiz kılar. Bu senaryo, sunucunun İnternet'e erişimi olmadığında da geçerlidir.

  1. İnternet erişimi olan bir bilgisayardan Azure Pipelines Aracısı GitHub Sürümleri sayfasından aracı paketi dosyalarının en son sürümünü (.zip veya .tar.gz biçimde) indirin.

  2. İndirilen paket dosyalarını istediğiniz bir yöntemi (USB sürücüsü, Ağ aktarımı vb.) kullanarak her Azure DevOps Server Uygulama Katmanına aktarın. Aracı dosyalarını klasörün altına %ProgramData%\Microsoft\Azure DevOps\Agents yerleştirin. Aracılar klasörü yoksa oluşturun.

  3. Artık hazırsınız! Azure DevOps Sunucunuz artık aracılar her güncelleştirildiğinde yerel dosyaları kullanacaktır. Her aracı, aracının daha yeni bir sürümünü gerektiren bir görev çalıştırdığında kendisini otomatik olarak güncelleştirir. Ancak bazı aracıları el ile güncelleştirmek istiyorsanız havuza sağ tıklayın ve ardından Tüm aracıları güncelleştir'i seçin.

Şirket içinde barındırılan aracıların Microsoft tarafından barındırılan aracılara göre performans avantajları var mı?

Birçok durumda, evet. Özellikle:

  • Şirket içinde barındırılan bir aracı kullanıyorsanız artımlı derlemeler çalıştırabilirsiniz. Örneğin, depoyu temizlemeyen ve temiz bir derleme gerçekleştirmeyen bir işlem hattı tanımlarsanız, derlemeleriniz genellikle daha hızlı çalışır. Microsoft tarafından barındırılan bir aracı kullandığınızda, derleme veya yayın işlem hattı tamamlandıktan sonra aracı yok edildiğinden bu avantajları elde etmezsiniz (önbelleğe alma gibi özellikleri kullanmadığınız sürece).

  • Microsoft tarafından barındırılan bir aracının derlemenizi başlatması daha uzun sürebilir. İşinizin Microsoft tarafından barındırılan bir aracıya atanabilmesi genellikle birkaç saniye sürer ancak bazen sistemimizdeki yüke bağlı olarak bir aracının ayrılması birkaç dakika sürebilir.

Aynı makineye şirket içinde barındırılan birden çok aracı yükleyebilir miyim?

Evet. Bu yaklaşım, çok fazla paylaşılan kaynak tüketmeyen işler çalıştıran aracılar için iyi çalışabilir. Örneğin, çoğunlukla dağıtımları düzenleyen ve aracı üzerinde çok fazla iş yapmayan yayınları çalıştıran aracılar için deneyebilirsiniz.

Diğer durumlarda aynı makinede birden çok aracı çalıştırarak çok fazla verimlilik kazanmayabileceğinizi fark edebilirsiniz. Örneğin, çok fazla disk ve G/Ç kaynağı kullanan derlemeler çalıştıran aracılar için faydalı olmayabilir.

Paralel derleme işleri npm paketleri gibi aynı tekil araç dağıtımını kullanıyorsa da sorunlarla karşılaşabilirsiniz. Örneğin, bir derleme bir bağımlılığı güncelleştirirken, başka bir derleme bunu kullanmanın ortasındadır ve bu da güvenilir olmayan sonuçlara ve hatalara neden olabilir.

İşlem hattı işleri iptal edildiğinde aracıların davranışı nedir?

Microsoft tarafından barındırılan aracılarda aracı parçalanır ve Azure Pipelines havuzuna döndürülür.

Şirket içinde barındırılan aracılar için:

Veri hattı iptal edildiğinde aracı geçerli adımı yürüten işleme bir komut dizisi gönderir. İlk komut 7,5 saniyelik zaman aşımı ile gönderilir. İşlem sonlandırılmamışsa 2,5 saniyelik zaman aşımı ile ikinci bir komut gönderilir. İşlem sonlandırılmamışsa aracı işlemi sonlandırmak için bir komut oluşturur. İşlem ilk iki sonlandırma isteğini kabul etmezse sonlandırılır. İlk istekten sonlandırmaya kadar yaklaşık 10 saniye geçer.

Veri hattını iptal etmek için işleme verilen komutlar aracı işletim sistemine göre farklılık gösterir.

  • macOS ve Linux: Gönderilen komutlar SIGINT, ardından SIGTERM ve ardından SIGKILL şeklindedir.
  • Windows: İşleme gönderilen komutlar Ctrl+C, ardından Ctrl+Break ve ardından Process.Kill şeklindedir.

Belirli bir aracı havuzu için program aracılığıyla aracı güncelleştirmelerini nasıl tetikleyebilirim?

Aşağıdaki API'yi kullanarak havuz için aracı güncelleştirmelerini tetikleyebilirsiniz:

POST https://dev.azure.com/{organization}/_apis/distributedtask/pools/{poolId}/messages?agentId={agentId}&api-version=6.0
POST https://{server url}/tfs/{collection}/_apis/distributedtask/pools/{poolId}/messages?agentId={agentId}&api-version=6.0

Not

API ve Azure DevOps Server sürüm eşlemesi hakkında daha fazla bilgi için bkz. API ve Azure DevOps Server sürüm eşlemesi

URI Parametreleri

Veri Akışı Adı İçinde Zorunlu Türü Açıklama
agentId query False Dize Güncelleştirilecek aracı. Belirtilmezse - güncelleştirme tüm aracılar için tetiklenir.
organization yol Doğru Dize Azure DevOps kuruluşunun adı.
poolId yol True tamsayı int32 Kullanılacak aracı havuzu
api-version query False Dize Kullanılacak API'nin sürümü. Bu, API'nin bu sürümünü kullanmak için '6.0' olarak ayarlanmalıdır.

Aracı güncelleştirmesini tetikleme - istek gövdesi boş olmalıdır.

Not

Azure Pipelines Aracısı GitHub'da açık kaynak.

Daha fazla bilgi edinin

Aracılar hakkında daha fazla bilgi için Azure DevOps ile uygulama derleme öğrenme yolundaki aşağıdaki modüllere bakın.