Azure Pipelines aracıları

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Not

Microsoft Team Foundation Server (TFS) 2018 ve önceki sürümlerde derleme ve yayın işlem hatları tanım olarak adlandırılır, çalıştırmalar derleme olarak adlandırılır, hizmet bağlantılarıhizmet uç noktaları olarak adlandırılır, aşamalarortam olarak adlandırılır ve işleraşama olarak adlandırılır.

Kodunuzu oluşturmak veya yazılımınızı Azure Pipelines kullanarak 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 olacak.

İşlem hattınız çalıştırıldığı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.

İş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 ise, 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. Bir iş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şten sonra atılır (başka bir deyişle, bir işin sanal makine dosya sisteminde yaptığı kod kullanıma alma gibi 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 basit yoludur. Önce deneyebilir ve derlemeniz veya dağıtımınız için çalışıp çalışmadığını görebilirsiniz. Aksi takdirde, şirket içinde barındırılan bir aracı 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 veya Azure DevOps Server(eski adıyla Team Foundation Server (TFS) 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üklemek için size daha fazla denetim sağlar. Ayrıca makine düzeyindeki önbellekler ve yapılandırma çalıştırmadan çalıştırmaya 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. Docker kapsayıcısı üzerine bir aracı da yükleyebilirsiniz. Şirket içinde barındırılan aracı yükleme hakkında daha fazla bilgi için bkz:

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, işlerinizin gerektirdiği şekilde bu makineye başka herhangi bir yazılım yükleyebilirsiniz.

Not

Aracılar geriye dönük olarak çok uyumlu. Aracının herhangi bir sürümü, Azure DevOps aracının daha yüksek bir sürümünü istemediği sürece 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 aracının yalnızca en son sürümünü destekliyoruz.

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ı her zaman ç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 esnekliğe sahipsiniz.

Bir sanal makine ölçek kümesi, beklemede tutulacak bir dizi aracı, ölçek kümesindeki en fazla sanal makine sayısı ve Azure Pipelines aracılarınızın sizin için ölçeklendirilmesini yönetirsiniz.

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, kuruluşunuzda aynı anda tek bir iş çalıştırabilir ve ilk iş tamamlanana kadar ek eş zamanlı işler kuyruğa alınır. İ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çin 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 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. Özellikler, aracı yazılımı tarafından otomatik olarak bulunan ad-değer çiftleridir; bu durumda bunlar sistem özellikleri olarak adlandırılır veya sizin tanımladığınız değerlerdir 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, bir aracı çalıştırıldığında ortam değişkenlerini ayarlamak için depolanan özellik değerlerinin kullanıldığı anlamına gelir. Ayrıca, aracı çalışırken ortam değişkenlerinde yapılan değişiklikler herhangi bir görev tarafından alınmaz ve kullanılmaz. Değişen hassas ortam değişkenleriniz varsa ve bunların özellik olarak depolanmasını istemiyorsanız, yoksayılacak değişkenlerin virgülle ayrılmış bir listesiyle ortam değişkenini ayarlayarak VSO_AGENT_IGNORE bunların yoksayılmasını sağlayabilirsiniz. Örneğin, PATH yazılım yüklüyorsanız yoksaymak isteyebileceğiniz kritik bir değişkendir.

İş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 yetenekler, işlerin işin gereksinimlerini karşılayan bir aracıyla eşleştirilebilmesi için şirket içi 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 yetenekleri kullanmanız gerekmez.

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. Azure DevOps, Kuruluş ayarları'nı seçin.

      Choose Organization settings.

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

      Choose Agent pools tab.

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

      Choose Collection settings.

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

      Choose Agent pools.

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

      Collection settings, 2019.

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

      Choose Agent pools, 2019.

    1. Projenize gidin ve Ayarlar (dişli simgesi) Aracı Kuyrukları'nı> seçin.

      Choose Settings, Agent Queues, 2018.

    2. Havuzları yönet'i seçin.

      Choose Manage pools, 2018.

  2. Özellikler sekmesine gidin:

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

      From Agent pools, select the desired agent pool.

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

      Select Agents and choose the agent.

    3. Özellikler sekmesini seçin.

      Choose the Capabilities tab.

      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.

      Select the desired pool.

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

      Select Agents and choose the desired agent.

    3. Özellikler sekmesini seçin.

      Agent capabilities tab.

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

      Select the desired tab, 2019.

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

      Choose the desired agent, 2019.

    3. Özellikler sekmesini seçin.

      Choose the Capabilities tab, 2019.

    İstediğiniz aracıyı seçin ve Özellikler sekmesini seçin.

    Agent capabilities tab, 2018.

  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 iletişim

TFS ile iletişim

Aracı, hangi işi çalıştırması gerektiğini belirlemek ve 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 veya Azure DevOps Server tüm iletiler HTTP veya HTTPS üzerinden gerçekleşir. Bu çekme modeli, aracının aşağıda gösterildiği gibi farklı topolojilerde yapılandırılmasını sağlar.

Agent topologies in on-premises installations.

Agent topologies in Azure DevOps Services.

Aracı ile Azure Pipelines veya Azure DevOps Server arasında yaygın bir iletişim düzeni aşağıdadır.

  1. Kullanıcı bir aracıyı bir aracı havuzuna ekleyerek Azure Pipelines veya Azure DevOps Server kaydeder. Bir 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ı değildir ve 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 belirteci indirir ve bunu iş kuyruğuna dinlemek için kullanır.

  2. Aracı, HTTP uzun yoklama kullanarak Azure Pipelines/Azure DevOps Server'daki iş kuyruğunda yeni bir iş isteği gönderip göndermediğ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 bu iş içindeki Azure Pipelines veya Azure DevOps Server kaynaklara erişmek (örneğin, kaynak kodu) 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ı denetlemeye geri döner.

Aracı ile Azure Pipelines/Azure DevOps Server arasında değiştirilen 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 sunucuyla değiştirilir. Sunucu, aracıya göndermeden önce işin yükünü ş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 aracıyla değiştirildiğinde bu şekilde güvenli hale getirilir.

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ı olmalıdır. 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, Azure sanal ağınızın güvenlik duvarı kurallarını aracı tarafından erişime izin verecek şekilde yapılandırabilmeniz için Microsoft tarafından barındırılan aracıların dağıtıldığı Aracı IP aralıklarını alabilirsiniz.

Şirket içi ortamlarınızın Microsoft tarafından barındırılan bir aracı havuzuna bağlantısı yoksa (bu 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 bağlanmak için hedef şirket içi ortamlara ve İnternet erişimine sahip olması gerekir.

Agent connectivity for on-premises environments

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ı değildir ve 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.

Aracınız aşağıdaki yöntemi kullanarak Azure Pipelines kimlik doğrulaması yapabilir:

Aracınız aşağıdaki yöntemlerden birini kullanarak Azure DevOps Server veya TFS'de kimlik doğrulaması yapabilir:

Kişisel Erişim Belirteci (PAT):

Bir aracıyı Azure Pipelines veya TFS 2017 ve daha yeni sürümlere bağlamak için PAT oluşturun ve kullanın. PAT, Azure Pipelines ile çalışan tek şemadır. PAT aracı havuzları (okuma, yönetme) kapsamına sahip olmalıdır ( dağıtım grubu aracısı için PAT Dağıtım grubu (okuma, yönetme) kapsamına sahip olmalıdır ve birden çok aracıyı kaydetmek için tek bir PAT kullanılabilirken PAT yalnızca aracıyı kaydederken kullanılır ve sonraki iletişim için kullanılmaz. Daha fazla bilgi için Windows, Linux veya macOS şirket içinde barındırılan aracıların makalelerindeki Kişisel erişim belirteci (PAT) ile kimlik doğrulama bölümüne bakın.

Azure DevOps Server ile PAT kullanmak için sunucunuzun HTTPS ile yapılandırılması gerekir. Bkz. Web sitesi ayarları ve güvenliği.

Tümleşik

NTLM veya Kerberos gibi bir Windows kimlik doğrulama düzeni aracılığıyla oturum açmış kullanıcının kimlik bilgilerini kullanarak TFS'ye bir Windows aracısı Bağlan.

Bu kimlik doğrulama yöntemini kullanmak için önce TFS sunucunuzu yapılandırmanız gerekir.

  1. TFS'yi çalıştırdığınız makinede oturum açın.

  2. Internet Information Services (IIS) Yöneticisi'ni başlatın. TFS sitenizi seçin ve NTLM veya Kerberos gibi geçerli bir sağlayıcıyla Windows Kimlik Doğrulaması'nın etkinleştirildiğinden emin olun.

IIS TFS windows authentication

IIS TFS windows authentication with ntlm provider

Anlaşma

NTLM veya Kerberos gibi bir Windows kimlik doğrulama düzeni aracılığıyla oturum açmış kullanıcı dışında bir kullanıcı olarak TFS'ye Bağlan.

Bu kimlik doğrulama yöntemini kullanmak için önce TFS sunucunuzu yapılandırmanız gerekir.

  1. TFS'yi çalıştırdığınız makinede oturum açın.

  2. Internet Information Services (IIS) Yöneticisi'ni başlatın. TFS sitenizi seçin ve Windows Kimlik Doğrulaması'nın Anlaşma sağlayıcısıyla ve NTLM veya Kerberos gibi başka bir yöntemle etkinleştirildiğinden emin olun.

IIS TFS windows authentication

IIS TFS windows authentication with negotiate and ntlm provider

Alternatif

Temel kimlik doğrulamasını kullanarak TFS'ye Bağlan. Bu yöntemi kullanmak için önce TFS'de HTTPS'yi yapılandırmanız gerekir.

Bu kimlik doğrulama yöntemini kullanmak için TFS sunucunuzu aşağıdaki gibi yapılandırmanız gerekir:

  1. TFS'yi çalıştırdığınız makinede oturum açın.

  2. Temel kimlik doğrulamayı yapılandırın. Bkz. tfx Temel Kimlik Doğrulaması kullanarak Team Foundation Server 2015'e karşı kullanma.

Etkileşimli ve hizmet karşılaştırması

Ş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 denemenizi öneririz. Ardından, üretim kullanımı için aracıyı güvenilir bir şekilde çalışır durumda kalması için aşağıdaki modlardan birinde çalıştırmanızı öneririz. 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 iyidir.

  2. Otomatik oturum açmanın etkinleştirildiği etkileşimli bir işlem olarak. Bazı durumlarda, aracıyı üretim kullanımı için etkileşimli olarak çalıştırmanız gerekebilir ( örneğin, UI 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

    Otomatik oturum açmayı etkinleştirdiğinizde veya ekran koruyucuyu devre dışı bırakırken, diğer kullanıcıların bilgisayara gelip otomatik olarak oturum açan hesabı kullanmasını sağladığınız için 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. Bir aracının otomatik oturum açma ile ç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ıştırılan tüm ui testleri başarısız olabilir. Bunu önlemek için tscon komutunu kullanarak Uzak Masaüstü bağlantısını kesin. Ö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 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, bir dış hizmete erişmek için Windows kimlik doğrulaması kullanan görevleri çalıştırmak için aracıyı o 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; bu da aracının zaman içinde daha az yönetim gerektirdiği anlamına gelir.

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

Aracı yazılımını Azure Pipelines'da 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 ve ikincil sürüm 1'dir.

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 otomatik olarak güncelleştirilebilir (aracı havuzlarında bu ayarı yapılandırın, aracınızı seçin Ayarlar - varsayılan etkindir) Azure Pipelines. 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çi barındırılan aracıları güncelleştirmek için

  1. Project ayarları olan Aracı havuzları'na gidin.

    Project settings, Agent pools

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

    Update all agents

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

    Update agent

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

    Update all agents confirmation

  4. Şu anda çalışmakta olan işler tamamlandığında çalıştırılan havuzdaki her aracı için bir güncelleştirme isteği kuyruğa alınır. Yükseltme genellikle yalnızca birkaç dakika sürer- aracı yazılımının en son sürümünü (yaklaşık 200 MB) indirmek, sıkıştırmasını açmak ve aracıyı yeni sürümle yeniden başlatmak için yeterlidir. Aracılarınızın durumunu Aracılar sekmesinden izleyebilirsiniz.

Aracı yazılımını Azure DevOps Server ve TFS'deki 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 ve ikincil sürüm 1'dir.

Azure DevOps Server veya TFS sunucunuzda aracının daha yeni bir sürümü varsa 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 itibaren 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ına gidip 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 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 C:\ProgramData\Microsoft\Azure DevOps\Agents\ olarak kullanmak üzere adresine el ile kopyalayın.

SSS

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

  1. Aracı havuzları sekmesine gidin:

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

      Choose Organization settings.

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

      Choose Agent pools tab.

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

      Choose Collection settings.

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

      Choose Agent pools.

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

      Collection settings, 2019.

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

      Choose Agent pools, 2019.

    1. Projenize gidin ve Ayarlar (dişli simgesi) Aracı Kuyrukları'nı> seçin.

      Choose Settings, Agent Queues, 2018.

    2. Havuzları yönet'i seçin.

      Choose Manage pools, 2018.

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

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

  4. Özellikler sekmesine gidin:

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

      From Agent pools, select the desired agent pool.

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

      Select Agents and choose the agent.

    3. Özellikler sekmesini seçin.

      Choose the Capabilities tab.

      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.

      Select the desired pool.

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

      Select Agents and choose the desired agent.

    3. Özellikler sekmesini seçin.

      Agent capabilities tab.

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

      Select the desired tab, 2019.

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

      Choose the desired agent, 2019.

    3. Özellikler sekmesini seçin.

      Choose the Capabilities tab, 2019.

    İstediğiniz aracıyı seçin ve Özellikler sekmesini seçin.

    Agent capabilities tab, 2018.

  5. Özelliği arayın Agent.Version . Bu değeri en son yayımlanan aracı sürümüyle karşılaştırabilirsiniz. Azure Pipelines Aracısı'na bakın 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ı paket 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 erişimi olmadığında da geçerlidir.

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

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

  3. Hazırsınız! Aracılar her güncelleştirildiğinde Azure DevOps Server artık 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ı?

Çoğu durumda, evet. Özellikle:

  • Şirket içinde barındırılan 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.

  • 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ürse de, bazen sistemimizdeki yüke bağlı olarak bir aracının ayrılması birkaç dakika sürebilir.

Aynı makineye şirket için 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ığı, başka bir derleme onu kullanmanın ortasındayken güncelleştirebilir 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ılar için aracı yırtılır ve Azure Pipelines havuzuna döndürülür.

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

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

İşleme verilen komutlar aracı işletim sistemine göre farklıdır.

  • macOS ve Linux - Gönderilen komutlar SIGINT, ardından SIGTERM ve ardından SIGKILL komutlarıdır.
  • 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?

Sonraki 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

URI Parametreleri

Name İçinde Gerekli Tür Description
agentId sorgu False string Güncelleştirilecek aracı. Belirtilmezse - güncelleştirme tüm aracılar için tetiklenir.
organization path True string Azure DevOps kuruluşun adı.
poolId path Doğru tamsayı int32 Kullanılacak aracı havuzu
api-version sorgu False string 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 üzerinde açık kaynak.

Daha fazla bilgi edinin

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