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

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2015

Not

Microsoft Team Foundation Server (TFS) 2018 ve önceki sürümlerde derleme ve yayın işlem hatları tanımlar, çalıştırmalar derlemeler, hizmet bağlantıları hizmet uç noktaları,aşamalar ortamlar ve işler olarak da aşamalar olarak çağrılır.

İşlerinizi çalıştırmak için en az bir aracı gerekir. Linux aracısı Java ve Android uygulamaları dahil olmak üzere farklı türlerde uygulamalar derleme ve dağıtma. Ubuntu, Red Hat ve CentOS'u destekliyoruz.

Başlamadan önce:

  • İşlem hatlarınız Azure Pipelines Microsoft tarafından barındırılan bir aracı ihtiyaçlarına uygunsa, özel linux aracısı ayarlamayı atlayabilirsiniz.
  • Aksi takdirde Linux'ta aracı ayarlamak için doğru yere gelirsiniz. Sonraki bölüme devam edin.

Aracılar hakkında bilgi

Bir aracının ne olduğunu ve nasıl çalıştığını zaten biliyorsanız, hemen aşağıdaki bölümlere geçebilirsiniz. Ancak, ne yapacakları ve nasıl çalışacakları hakkında daha fazla bilgi için bkz. Azure Pipelines..

Önkoşulları denetleme

Aracı .NET Core 3.1'i temel alan bir aracıdır. Bu aracıyı birkaç Linux dağıtımında çalıştırabilirsiniz. Desteklenen .NET Core dağıtımlarının aşağıdaki alt kümesini destekliyoruz:

  • x64
    • CentOS 7, 6 (bkz. not 1)
    • Debian 9
    • Fedora 30, 29
    • Linux Linux 18, 17
    • openSUSE 42.3 veya sonraki bir
    • Oracle Linux 7
    • Red Hat Enterprise Linux 8, 7, 6 (bkz. not 1)
    • SUSE Enterprise Linux 12 SP2 veya sonraki sürümü
    • Ubuntu 20.04, 18.04, 16.04
  • ARM32 (bkz. not 2)
    • Debian 9
    • Ubuntu 18.04
  • ARM64
    • Debian 9
    • Ubuntu 21.04, 20.04, 18.04

Not

Not 1: RHEL 6 ve CentOS 6, aracının özelleştirilmiş rhel.6-x64 sürümünün yüklü olduğunu gerektirir.

Not

Not 2: ARM yönerge kümesi ARMv7 veya üzeri gereklidir. uname -aLinux dağıtım yönerge kümenizi görmek için çalıştırın.

Platformdan bağımsız olarak Git 2.9.0 veya üst sürümü yüklemeniz gerekir. Git'in en son sürümünü yüklemenizi kesinlikle öneririz.

TFVC'yi kullanıyorsanız Oracle Java JDK 1.6 veya üst sürümüne de ihtiyacınız olacaktır. (Oracle JRE ve OpenJDK bu amaç için yeterli değildir.)

Not

Aracı yükleyicisi diğer bağımlılıkları denetlemeyi bilir. Aracı dizininde çalıştırarak desteklenen Linux platformlarında bu ./bin/installdependencies.sh bağımlılıkları yükleyebilirsiniz.

.NET Core için gerekli olan bu bağımlılıklardan bazılarının gibi üçüncü taraf sitelerden packages.efficios.com getirilsin. Betiği installdependencies.sh gözden geçirin ve betiği çalıştırmadan önce başvurulan üçüncü taraf sitelerin Linux makinenizin erişilebilir olduğundan emin olun.

Ayrıca tüm gerekli depoların içinde kullanılan ilgili paket yöneticisine (veya gibi) bağlı olduğundan installdependencies.sh emin aptzypper olun.

Bağımlılık yüklemesi ile ilgili sorunlar için ('bağımlılık depoda bulunamadı' veya 'depo dizin dosyasını alma sorunu' gibi) diğer destek için dağıtım sahibine ulaşabilirsiniz.

TFS 2018 RTMve daha eski: Gönderilen aracı CoreCLR 1.0'a dayalıdır. Mümkünse, daha sonraki bir aracı sürümüne (2.125.0 veya daha yüksek) yükseltmeniz önerilir. Daha Azure Pipelines çalıştırmak için gerekenler hakkında daha fazla bilgi için bkz. aracı önk sürümleri.

Eski aracıda kalmanız gerekirse makinenizin desteklenen dağıtımlardan herhangi biri için önkoşullarımız ile hazır olduğundan emin olun:

Subversion

Bir Subversion repo'dan binayaıyorsanız, makineye Subversion istemcisini yüklemeniz gerekir.

Aracı kurulumunu ilk kez el ile çalıştırmanız gerekir. Aracıların nasıl çalışmalarına yönelik bir his elde ettikten sonra veya birçok aracıyı ayarlamayı otomatikleştirmek için katılımsız yapılandırmayı kullanmayı göz önünde bulundurabilirsiniz.

İzinleri hazırlama

Kendinden konak aracılar için bilgi güvenliği

Aracıyı yapılandıran kullanıcının havuz yöneticisi izinlerine sahip olması gerekir, ancak aracıyı çalıştıran kullanıcının ihtiyacı olmaz.

Aracı tarafından denetlenen klasörler mümkün olduğunca az kullanıcıyla kısıtlanmış olmalı ve şifresi çözülebilecek veya sızması mümkün olan gizli diziler içeriyor olabilir.

ADO işlem hatları aracısı, dış kaynaklardan indirdiği kodu yürütmek için tasarlanmış bir yazılım ürünüdür. Doğal olarak Uzaktan Kod Yürütme (RCE) saldırılarının hedefi olabilir.

Bu nedenle, işi gerçekleştirmek için Pipelines Aracılarının her bir kullanımını çevreleyen tehdit modelini göz önünde bulundurarak, aracıyı çalıştıran kullanıcıya, aracının çalıştırlandığı makineye, İşlem hattı tanımına yazma erişimi olan kullanıcılara, yaml'nin depolandığı git depolarına hangi minimum izinlerin verilil olduğuna karar vermek önemlidir. veya yeni işlem hatları için havuza erişimi kontrol eden kullanıcı grubu.

Aracıyı çalıştıran kimliğin, aracıyı havuza bağlama izinlerine sahip kimlikten farklı olması en iyi uygulamadır. Kimlik bilgilerini (ve aracıyla ilgili diğer dosyaları) üreten kullanıcı, bunları okuması gereken kullanıcıdan farklıdır. Bu nedenle, aracı makinenin kendisine ve günlükler ve yapıtlar gibi hassas dosyaları içeren aracı klasörlerine verilen erişimi dikkatle göz önünde bulundurmalısınız.

Aracı klasörüne yalnızca aracı işlemini çalıştıran DevOps ve kullanıcı kimliği için erişim izni vermek mantıklıdır. Yöneticilerin, derleme hatalarını anlamak veya günlük dosyalarını almak için dosya sistemini araştırması Azure DevOps olabilir.

Hangi kullanıcıyı kullanabileceğinize karar verme

Tek bir adım olarak aracıyı kaydetmelisiniz. Aracı kuyruğu yönetme izni olan birinin bu adımları tamamlaması gerekir. Aracı günlük işlemde bu kişinin kimlik bilgilerini kullanmaz, ancak kaydı tamamlaması gerekir. Aracıların iletişim kurması hakkında daha fazla bilgi.

Kişisel erişim belirteci (PAT) ile kimlik doğrulaması

  1. Team Foundation Server web portalında () kullanmayı planlasanız kullanıcı hesabıyla oturum https://{your-server}:8080/tfs/ açın.
  1. Web portalında () kullanarak kullanmayı planla kullanıcı Azure DevOps Server oturum https://{your-server}/DefaultCollection/ açın.
  1. Azure DevOps ( https://dev.azure.com/{your_organization} ).
  1. Giriş sayfasında profilinizi açın. Güvenlik ayrıntılarınıza gidin.

    Güvenlik ayrıntılarınıza gidin.

  2. Kişisel erişim belirteci oluşturun.

    Kişisel erişim belirteci oluşturun.

  1. Giriş sayfasında kullanıcı ayarlarınızı açın ve Kişisel erişim belirteçleri'ne tıklayın.

    Güvenlik ayrıntılarınıza gidin.

  2. Kişisel erişim belirteci oluşturun.

    Kişisel erişim belirteci oluşturun.

  1. Kapsam için Aracı Havuzları (okuma, yönetme) öğesini seçin ve diğer tüm kutuların temiz olduğundan emin olun. Bu bir dağıtım grubu aracısı ise, kapsam için Dağıtım grubu (okuma, yönetme) öğesini seçin ve diğer tüm kutuların temiz olduğundan emin olun.

    Kapsamların tam listesini görmek için Yeni kişisel erişim belirteci oluştur penceresinin altındaki Tüm kapsamları göster'i seçin.

  2. Belirteci kopyalayın. Aracıyı yapılandırıldığında bu belirteci kullanıcaz.

Kullanıcı olarak kimlik Windows (TFS 2015 ve TFS 2017)

Alternatif olarak, TFS 2017'de bir etki alanı kullanıcısı veya yerel bir Windows TFS uygulama katmanlarınız üzerinde kullanabilirsiniz.

Yalnızca macOS ve Linux için TFS 2015'te, TFS uygulama katmanlarınız üzerinde yerel bir Windows kullanıcısı oluşturmanızı ve bu kullanıcıya derleme aracıları dağıtmak amacıyla ayırmanızı öneririz.

Kullanıcının izin olduğunu onaylayın

Kullanacağınız kullanıcı hesabının aracıyı kaydetme izni olduğundan emin olun.

kullanıcı Azure DevOps kuruluş sahibi veya TFS veya Azure DevOps Server yöneticisi mi? Burada, izninizin olduğunu görürsünüz.

Aksi durumda:.

  1. bir tarayıcı açın ve Azure Pipelines kuruluşunuzun veya Azure DevOps Server ya da TFS sunucunuzun aracı havuzları sekmesine gidin:

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

      Kuruluş Ayarları ' nı seçin.

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

      Aracı havuzları sekmesini seçin.

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

      Koleksiyon ayarları ' nı seçin.

    2. 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 ' i seçin.

    1. projenize gidin ve Ayarlar (dişli simgesi) aracı kuyrukları' ni seçin.

      Ayarlar, aracı kuyrukları, 2018 öğesini seçin.

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

      Yönet havuzlar, 2018 ' i seçin.

    1. projenize gidin ve Ayarlar (dişli simgesi) aracı kuyrukları' ni seçin.

      Ayarları, aracı kuyrukları, 2017 öğesini seçin.

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

      Yönet havuzlar, 2017 ' i seçin.

    1. Projenize gidin ve projeyi Yönet ' i (dişli simgesi) seçin.

      Projeyi Yönet, 2015.

    2. Denetim Masası' nı seçin.

      Denetim Masası, 2015 ' i seçin.

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

      Aracı havuzlarını seçin, 2015.

  2. Sayfanın sağ tarafındaki havuzu seçin ve ardından güvenlik' e tıklayın.

  3. Kullanacağınız kullanıcı hesabı gösterilmiyorsa, bunu eklemek için bir yönetici alın. yönetici, bir aracı havuzu yöneticisi, bir Azure DevOps kuruluş sahibiveya bir TFS ya da Azure DevOps Server yöneticisiolabilir.

    bu bir dağıtım grubu aracısıdır, yönetici bir dağıtım grubu yöneticisi, bir Azure DevOps kuruluş sahibiveya bir TFS ya da Azure DevOps Server yöneticisiolabilir.

    Dağıtım grubu yöneticisi rolüne bir kullanıcıyı, Azure Pipelinesdağıtım grupları sayfasındaki güvenlik sekmesinde ekleyebilirsiniz.

Not

Şu şekilde bir ileti görürseniz: ne yazık ki kimlik eklenemedi. lütfen farklı bir kimlik deneyin.büyük olasılıkla bir kuruluş sahibi veya TFS veya Azure DevOps Server yöneticisi için yukarıdaki adımları izlediyseniz. Herhangi bir şey yapmanız gerekmez; Aracı kuyruğunu yönetme izniniz zaten var.

Aracıyı indirme ve yapılandırma

Azure Pipelines

  1. Yukarıda açıklandığı gibi izinleri hazırladığınız hesabı kullanarak makinede oturum açın.

  2. web tarayıcınızda Azure Pipelines oturum açın ve aracı havuzları sekmesine gidin:

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

      Kuruluş Ayarları ' nı seçin.

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

      Aracı havuzları sekmesini seçin.

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

      Koleksiyon ayarları ' nı seçin.

    2. 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 ' i seçin.

    1. projenize gidin ve Ayarlar (dişli simgesi) aracı kuyrukları' ni seçin.

      Ayarlar, aracı kuyrukları, 2018 öğesini seçin.

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

      Yönet havuzlar, 2018 ' i seçin.

    1. projenize gidin ve Ayarlar (dişli simgesi) aracı kuyrukları' ni seçin.

      Ayarları, aracı kuyrukları, 2017 öğesini seçin.

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

      Yönet havuzlar, 2017 ' i seçin.

    1. Projenize gidin ve projeyi Yönet ' i (dişli simgesi) seçin.

      Projeyi Yönet, 2015.

    2. Denetim Masası' nı seçin.

      Denetim Masası, 2015 ' i seçin.

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

      Aracı havuzlarını seçin, 2015.

  3. Varsayılan havuzu seçin, aracılar sekmesini seçin ve Yeni Aracı' ı seçin.

  4. Aracıyı al iletişim kutusunda, Linux' a tıklayın.

  5. Sol bölmede, belirli bir türü seçin. Çoğu Linux dağıtımları için x64 veya ARM sunuyoruz. ayrıca, Red Hat Enterprise Linux 6 için belirli bir yapı sunuyoruz.

  6. Sağ bölmede, İndir düğmesine tıklayın.

  7. Sayfasındaki yönergeleri izleyin.

  8. Aracının istediğiniz dizine paketini açın. cd Bu dizine ve çalıştırın ./config.sh .

Azure DevOps Server 2019 ve Azure DevOps Server 2020

  1. Yukarıda açıklandığı gibi izinleri hazırladığınız hesabı kullanarak makinede oturum açın.

  2. web tarayıcınızda Azure DevOps Server 2019 ' de oturum açın ve aracı havuzları sekmesine gidin:

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

      Kuruluş Ayarları ' nı seçin.

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

      Aracı havuzları sekmesini seçin.

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

      Koleksiyon ayarları ' nı seçin.

    2. 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 ' i seçin.

    1. projenize gidin ve Ayarlar (dişli simgesi) aracı kuyrukları' ni seçin.

      Ayarlar, aracı kuyrukları, 2018 öğesini seçin.

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

      Yönet havuzlar, 2018 ' i seçin.

    1. projenize gidin ve Ayarlar (dişli simgesi) aracı kuyrukları' ni seçin.

      Ayarları, aracı kuyrukları, 2017 öğesini seçin.

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

      Yönet havuzlar, 2017 ' i seçin.

    1. Projenize gidin ve projeyi Yönet ' i (dişli simgesi) seçin.

      Projeyi Yönet, 2015.

    2. Denetim Masası' nı seçin.

      Denetim Masası, 2015 ' i seçin.

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

      Aracı havuzlarını seçin, 2015.

  3. Aracıyı indir' e tıklayın.

  4. Aracı al iletişim kutusunda, Linux' a tıklayın.

  5. Sol bölmede, belirli bir türü seçin. Çoğu Linux dağıtımları için x64 veya ARM sunuyoruz. ayrıca, Red Hat Enterprise Linux 6 için belirli bir yapı sunuyoruz.

  6. Sağ bölmede, İndir düğmesine tıklayın.

  7. Sayfasındaki yönergeleri izleyin.

  8. Aracının istediğiniz dizine paketini açın. cd Bu dizine ve çalıştırın ./config.sh .

TFS 2017 ve TFS 2018

  1. Yukarıda açıklandığı gibi izinleri hazırladığınız hesabı kullanarak makinede oturum açın.

  2. Web tarayıcınızda TFS 'de oturum açın ve Aracı havuzları sekmesine gidin:

    1. projenize gidin ve Ayarlar (dişli simgesi) aracı kuyrukları' ni seçin.

      Ayarlar, aracı kuyrukları, 2018 öğesini seçin.

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

      Yönet havuzlar, 2018 ' i seçin.

  3. Aracıyı indir' e tıklayın.

  4. Aracı al iletişim kutusunda, Linux' a tıklayın.

  5. İndir düğmesine tıklayın.

  6. Sayfasındaki yönergeleri izleyin.

  7. Aracının istediğiniz dizine paketini açın. cd Bu dizine ve çalıştırın ./config.sh . Araçlar ve betikler her zaman uygun şekilde boşluk olmadığından, dizin yolunun boşluk olmadığından emin olun.

TFS 2015

  1. GitHub en son sürümegidin.

  2. Aracıyı indirmek için bu sayfadaki yönergeleri izleyin.

  3. Aracıyı yapılandırın.

    ./config.sh
    

Sunucu URL 'SI

Azure Pipelines:https://dev.azure.com/{your-organization}

Azure DevOps Server 2019:https://{your_server}/DefaultCollection

TFS 2017 ve üzeri: https://{your_server}/tfs

TFS 2015: http://{your_server}:8080/tfs

Kimlik doğrulaması türü

Azure Pipelines

Patöğesini seçin ve ardından oluşturduğunuz Pat belirtecini komut istemi penceresine yapıştırın.

Not

Kimlik doğrulama yöntemi olarak PAT kullanırken, PAT belirteci yalnızca aracının ilk yapılandırması için kullanılır. Azure Pipelines veya TFS ile iletişimhakkında daha fazla bilgi edinin.

TFS veya Azure DevOps Server

Önemli

Sunucunuzun, kullanmak istediğiniz kimlik doğrulama yöntemini destekleyecek şekilde yapılandırıldığından emin olun.

Aracınızı TFS 'ye bağlanacak şekilde yapılandırdığınızda, aşağıdaki seçeneklere sahip olursunuz:

  • TFS 'ye veya temel kimlik doğrulaması kullanarak Azure DevOps Server alternatif Bağlan. Alternatif ' i seçtikten sonra kimlik bilgileriniz istenir.

  • Tümleşik MacOS veya Linux 'ta desteklenmez.

  • Bağlan (varsayılan ), TFS veya Kerberos gibi Windows bir kimlik doğrulama düzeni aracılığıyla oturum açmış kullanıcı dışında bir kullanıcı olarak Azure DevOps Server. Anlaş ' ı seçtikten sonra kimlik bilgileri istenir.

  • Pat yalnızca Azure Pipelines ve TFS 2017 ve daha yeni sürümlerde desteklenir. PAT öğesini seçtikten sonra, oluşturduğunuz Pat belirtecini komut istemi penceresine yapıştırın. Azure DevOps Server veya TFS örneğiniz ve aracı makineniz güvenilen bir etki alanında değilse, kişisel erişim belirteci (PAT) kullanın. PAT kimlik doğrulaması, etki alanı denetleyicisi yerine Azure DevOps Server veya TFS örneğiniz tarafından işlenir.

Not

pat, kimlik doğrulama yöntemi olarak kullanırken, yalnızca Azure DevOps Server ve TFS 'nin yeni sürümlerindeki aracının ilk yapılandırması için kullanılır. Azure Pipelines veya TFS ile iletişimhakkında daha fazla bilgi edinin.

Etkileşimli olarak çalıştır

Aracının etkileşimli modda mı yoksa bir hizmet olarak mı çalıştırılacağını öğrenmek için bkz. Agents: Interactive vs. Service.

Aracıyı etkileşimli olarak çalıştırmak için:

  1. Aracıyı hizmet olarak çalıştırıyorsanız, hizmeti kaldırın.

  2. Aracıyı çalıştırın.

    ./run.sh
    

Aracıyı yeniden başlatmak için CTRL + C tuşlarına basın ve sonra run.sh yeniden başlatmak için çalıştırın.

Aracınızı kullanmak için aracının havuzunu kullanarak bir çalıştırın. Farklı bir havuz seçmediyseniz, aracınız varsayılan havuzda olur.

Bir kez çalıştır

Etkileşimli olarak çalışacak şekilde yapılandırılmış aracılar için aracının yalnızca bir işi kabul etmesini seçebilirsiniz. Bu yapılandırmada çalıştırmak için:

./run.sh --once

Bu moddaki aracılar yalnızca bir işi kabul eder ve daha sonra düzgün şekilde çalışır (Azure Container Instances gibi bir hizmette Docker 'da çalıştırmak için yararlıdır).

Systemd hizmeti olarak çalıştır

Aracınız bu işletim sistemlerinde çalışıyorsa aracıyı hizmet olarak çalıştırabilirsiniz systemd :

  • Ubuntu 16 LTS veya üzeri
  • Red hat 7,1 veya üzeri

./svc.shAracınızı hizmet olarak çalıştırmanız ve yönetmeniz için örnek bir betik sağlıyoruz systemd . Bu betik, aracıyı yapılandırdıktan sonra oluşturulacaktır. Bunu incelemeniz ve gerekirse, çalıştırmadan önce betiği güncelleştirmeniz önerilir.

Bazı önemli uyarılar:

  • Aracınızı bir hizmet olarak çalıştırırsanız, aracı hizmetini kullanıcı olarak çalıştıramazsınız root .
  • SELinux çalıştıran kullanıcılar, belirtilen betikle ilgili sorunlar bildirdi . Başlangıç noktası olarak Bu aracı sorununa bakın. SELinux, resmi olarak desteklenen bir yapılandırma değildir.

Not

Farklı bir dağıtıma sahipseniz veya diğer yaklaşımlardan birini tercih ediyorsanız, tercih ettiğiniz hizmet mekanizmalarının türünü de kullanabilirsiniz. Bkz. hizmet dosyaları.

Komutlar

Aracı dizinine Değiştir

Örneğin, myagent giriş dizininizin alt klasörüne yüklediyseniz:

cd ~/myagent$

Yükleme

Komutundaki

sudo ./svc.sh install [username]

Bu komut, öğesine işaret eden bir hizmet dosyası oluşturur ./runsvc.sh . Bu betik ortamı ayarlar (daha fazla ayrıntı) ve aracılar ana bilgisayarını başlatır. usernameParametre belirtilmezse, Kullanıcı adı sudo komutu tarafından ayarlanan $SUDO _USER ortam değişkeninden alınır. Bu değişken, komutu çağıran kullanıcının adına her zaman eşittir sudo .

Başlangıç

sudo ./svc.sh start

Durum

sudo ./svc.sh status

Durdur

sudo ./svc.sh stop

Kaldırma

Kaldırmadan önce durdurmanız gerekir.

sudo ./svc.sh uninstall

Ortam değişkenlerini güncelleştirme

Hizmeti yapılandırarak PATH, LANG, JAVA_HOME, ANT_HOME ve MYSQL_PATH gibi geçerli oturum açma kullanıcınız için bazı yararlı ortam değişkenlerinin anlık MYSQL_PATH. Değişkenleri güncelleştirmeniz gerekirse (örneğin, bazı yeni yazılımları yükledikten sonra):

./env.sh
sudo ./svc.sh stop
sudo ./svc.sh start

Ortam değişkenlerinin anlık görüntüsü dosyasında depolanır ( içinde depolanır), aracı kök dizini altında, ortam değişkeni değişikliklerini uygulamak için bu dosyaları .envPATH doğrudan da .path değiştirebilirsiniz.

Hizmet başlamadan önce yönergeleri çalıştırma

Hizmet başlatıldığında çalıştırmak için kendi yönergelerinizi ve komutlarınızı da çalıştırabilirsiniz. Örneğin, ortamı veya çağrı betiklerini kurabilirsiniz.

  1. 'yi runsvc.sh düzenleyin.

  2. Aşağıdaki satırı yönergeleriniz ile değiştirin:

    # insert anything to setup env when running as a service
    

Hizmet dosyaları

Hizmeti yüklemenizin ardından bazı hizmet dosyaları yerine konacak.

systemd hizmet dosyası

Bir systemd hizmet dosyası oluşturulur:

/etc/systemd/system/vsts.agent.{tfs-name}.{agent-name}.service

Örneğin, adıyla bir aracı yapılandırmış (yukarıya our-linux-agent bakın). Hizmet dosyası şu iki dosyadan biri olur:

  • Azure Pipelines:Kuruluş adı. Örneğin, hizmetine https://dev.azure.com/fabrikam bağlansanız, hizmet adı şu şekilde olur: /etc/systemd/system/vsts.agent.fabrikam.our-linux-agent.service

  • TFS veya Azure DevOps Server:Şirket içi sunucunuz adı. Örneğin, hizmetine http://our-server:8080/tfs bağlansanız, hizmet adı şu şekilde olur: /etc/systemd/system/vsts.agent.our-server.our-linux-agent.service

sudo ./svc.sh install bu şablonu kullanarak şu dosyayı oluşturur: ./bin/vsts.agent.service.template

.service dosyası

sudo ./svc.sh start yukarıda açıklanan .service systemd hizmet dosyasının adını içeren dosyasını okuyarak hizmeti bulur.

Alternatif hizmet mekanizmaları

Aracınızı ./svc.sh sistemli hizmet olarak çalıştırmanız ve yönetmeniz için betiği kullanışlı bir yol olarak sağlaruz. Ancak, tercih ederseniz ne tür bir hizmet mekanizmasını (örneğin: initd veya upstart) kullanabilirsiniz.

Diğer hizmet dosyası türleri oluşturmayı kolaylaştırmak için yukarıda açıklanan şablonu kullanabilirsiniz.

Aracı hatalarından kaçınmak için cgroup kullanma

Aracının başarısız olduğu veya kullanılamaz hale geldiği durumların önüne geçilmesi önemlidir çünkü aksi takdirde aracı işlem hattı günlüklerini akışla aktaramaz veya işlem hattı durumunu sunucuya geri bildiremezse. Cgroup'ları ve daha düşük bir kullanarak yüksek bellek baskısı nedeniyle bu tür bir sorunun riskini oom_score_adj azaltabilirsiniz. Bunu tamamladikten sonra Linux, aracı sürecinden bellek geri gelmeden önce işlem hattı iş işlemlerinden sistem belleğini geri kullanır. cgroups ve OOM puanını yapılandırmayı öğrenin.

Aracıyı değiştirme

Bir aracıyı değiştirmek için Aracıyı indirme ve yapılandırma adımlarını tekrar izleyin.

Zaten var olan bir aracıyla aynı adı kullanarak bir aracı yapılandırıldığında, mevcut aracıyı değiştirmek istiyor musunuz? yanıtını Y verirsanız, değiştirerek aracıyı kaldır (aşağıya bakın) emin olun. Aksi takdirde, birkaç dakikalık çakışmaların ardından aracılardan biri kapanacak.

Aracıyı kaldırma ve yeniden yapılandırma

Aracıyı kaldırmak için:

  1. Yukarıda açıklanan şekilde hizmeti durdurun ve kaldırın.

  2. Aracıyı kaldırın.

    ./config.sh remove
    
  3. Kimlik bilgilerinizi girin.

Aracıyı kaldırdikten sonra yeniden yapılandırılabilir.

Katılımsız yapılandırma

Aracı, bir betikten insan müdahalesi gerekm yok olarak ayarlanmaz. Tüm soruların --unattended yanıtlarını ve yanıtlarını geçmelisiniz.

Bir aracıyı yapılandırmak için, kuruluşun URL'sini veya aracıları ayarlama yetkisine sahip birinin koleksiyonunu ve kimlik bilgilerini biliyor olması gerekir. Diğer tüm yanıtlar isteğe bağlıdır. Herhangi bir komut satırı parametresi, bunun yerine bir ortam değişkeni kullanılarak belirtilebilir: adını büyük harf ve ön uç olarak VSTS_AGENT_INPUT_ girin. Örneğin, VSTS_AGENT_INPUT_PASSWORD belirtmek --password yerine.

Gerekli seçenekler

  • --unattended - aracı kurulumu bilgi isteminde olmaz ve tüm ayarlar komut satırına sağlanmalıdır
  • --url <url> - Sunucunun URL'si. Örneğin: https://dev.azure.com/myorganization veya http://my-azure-devops-server:8080/tfs
  • --auth <type> - kimlik doğrulaması türü. Geçerli değerler:
    • pat (Kişisel erişim belirteci)
    • negotiate (Kerberos veya NTLM)
    • alt (Temel kimlik doğrulaması)
    • integrated(Windows kimlik bilgileri için)

Kimlik doğrulaması seçenekleri

  • 'yi --auth pat seçtiysanız:
    • --token <token> - Kişisel erişim belirtecini belirtir
  • veya --auth negotiate--auth alt seçtiysanız:
    • --userName <userName>- biçiminde bir Windows kullanıcı adı domain\userName belirtir veyauserName@domain.com
    • --password <password> - bir parola belirtir

Havuz ve aracı adları

  • --pool <pool> - aracının katılması için havuz adı
  • --agent <agent> - aracı adı
  • --replace - bir havuz içinde aracıyı değiştirin. Başka bir aracı aynı adla dinliyorsa, çakışmayla başarısız olur

Aracı kurulumu

  • --work <workDirectory> - iş verisi depolandığı iş dizini. Varsayılan _work olarak, aracı dizininin kökü altında değeri kullanılır. İş dizini, verilen bir aracıya aittir ve birden çok aracı arasında paylaşılmaz.
  • --acceptTeeEula- son Team Explorer Everywhere Lisans Sözleşmesi'nin (yalnızca macOS ve Linux) kabul etme
  • --disableloguploads - Konsol günlüğü çıkışını sunucuya akışla göndermeyin veya göndermeyin. Bunun yerine, iş tamamlandıktan sonra aracı ana bilgisayarının dosya sisteminden bunları alabilir.

Windows başlatma

  • --runAsService- Aracıyı Windows olarak çalıştıracak şekilde yapılandırma (yönetici izni gerekir)
  • --runAsAutoLogon - otomatik oturum açmayı yapılandırma ve aracıyı başlangıçta çalıştırma (yönetici izni gerekir)
  • --windowsLogonAccount <account>- kullanıcı adını veya Windows belirtmek için veya --runAsService--runAsAutoLogon ile domain\userName kullanılıruserName@domain.com
  • --windowsLogonPassword <password>- oturum açma --runAsService parolasını belirtmek için veya Windows --runAsAutoLogon kullanılır
  • --overwriteAutoLogon - makinede --runAsAutoLogon mevcut otomatik oturum açmanın üzerine yazmak için ile kullanılır
  • --noRestart - Aracı yapılandırması --runAsAutoLogon tamamlandıktan sonra ana bilgisayarın yeniden başlatılmasını durdurmak için ile kullanılır

Yalnızca dağıtım grubu

  • --deploymentGroup - aracıyı dağıtım grubu aracısı olarak yapılandırma
  • --deploymentGroupName <name> - --deploymentGroup aracının katılması için dağıtım grubunu belirtmek için ile kullanılır
  • --projectName <name> - proje adını --deploymentGroup ayarlamak için ile kullanılır
  • --addDeploymentGroupTags - dağıtım grubu --deploymentGroup etiketlerinin ek gerektiğini belirtmek için ile kullanılır
  • --deploymentGroupTags <tags> - dağıtım grubu aracısı için virgülle ayrılmış etiket listesini belirtmek için ile --addDeploymentGroupTags kullanılır ; örneğin, "web, db"

Yalnızca ortamlar

  • --addvirtualmachineresourcetags - ortam kaynağı etiketlerinin ek gerektiğini belirtmek için kullanılır
  • --virtualmachineresourcetags <tags> - ortam kaynak aracısı için virgülle ayrılmış etiket listesini belirtmek için ile --addvirtualmachineresourcetags kullanılır ; örneğin, "web, db"

./config.sh --help her zaman en son gerekli ve isteğe bağlı yanıtları listeler.

Tanılama

Kendi kendine barındırılan aracınız ile ilgili sorun varsa tanılama çalıştırmayı denemeniz gerekir. Aracıyı yapılandırdikten sonra:

./run.sh --diagnostics

Bu, sorunu gidermenize yardımcı olabilecek bir tanılama paketi üzerinden çalışır. Tanılama özelliği, aracı sürümü 2.165.0 ile başlayarak kullanılabilir.

Diğer seçeneklerle ilgili yardım

Diğer seçenekler hakkında bilgi edinmek için:

./config.sh --help

Yardım, kimlik doğrulama alternatifleri ve Katılımsız yapılandırma hakkında bilgi sağlar.

Özellikler

Aracılarınızın özellikleri, havuza yalnızca işleyebileceği derlemeler ve yayınlar atanmış olacak şekilde kataloglandığında ve tanıtılabilir. Bkz. derleme ve yayın Aracısı özellikleri.

Birçok durumda, bir aracıyı dağıttıktan sonra yazılım veya yardımcı programları yüklemeniz gerekir. Genellikle, geliştirme makinenizde kullandığınız yazılım ve araçlara her türlü aracı yüklemelisiniz.

Örneğin, derlemeniz NPM göreviniiçeriyorsa, NPM 'nin yüklü olduğu havuzda derleme Aracısı olmadığı takdirde yapı çalışmaz.

Önemli

Yetenekler, tüm ortam değişkenlerini ve aracı çalıştırıldığında ayarlanan değerleri içerir. Aracı çalışırken bu değerlerden herhangi biri değişirken, yeni değerleri almak için aracının yeniden başlatılması gerekir. Bir aracıya yeni yazılım yükledikten sonra, yeni bir özelliğin havuzda gösterilmesi için aracıyı yeniden başlatmanız gerekir, böylece derleme çalıştırılabilir.

Ortam değişkenlerini özellik olarak dışlamak istiyorsanız, bir ortam değişkenini VSO_AGENT_IGNORE yok saymak için virgülle ayrılmış bir değişken listesiyle ayarlayarak belirleyebilirsiniz.

SSS

En son v2 Aracısı sürümüne sahip olduğumu Nasıl yaparım? emin olun.

  1. Aracı havuzları sekmesine gidin:

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

      Kuruluş Ayarları ' nı seçin.

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

      Aracı havuzları sekmesini seçin.

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

      Koleksiyon ayarları ' nı seçin.

    2. 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 ' i seçin.

    1. projenize gidin ve Ayarlar (dişli simgesi) aracı kuyrukları' ni seçin.

      Ayarlar, aracı kuyrukları, 2018 öğesini seçin.

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

      Yönet havuzlar, 2018 ' i seçin.

    1. projenize gidin ve Ayarlar (dişli simgesi) aracı kuyrukları' ni seçin.

      Ayarları, aracı kuyrukları, 2017 öğesini seçin.

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

      Yönet havuzlar, 2017 ' i seçin.

    1. Projenize gidin ve projeyi Yönet ' i (dişli simgesi) seçin.

      Projeyi Yönet, 2015.

    2. Denetim Masası' nı seçin.

      Denetim Masası, 2015 ' i seçin.

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

      Aracı havuzlarını seçin, 2015.

  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 istenen 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. Yetenekler sekmesini seçin.

      Yetenekler sekmesini seçin.

      Not

      Microsoft tarafından barındırılan aracılar sistem yeteneklerini göstermez. 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 istenen 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. Yetenekler sekmesini seçin.

      Aracı Özellikleri sekmesi.

    1. Aracı havuzları sekmesinden istenen havuzu seçin.

      İstediğiniz sekmeyi seçin, 2019.

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

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

    3. Yetenekler sekmesini seçin.

      Yetenekler sekmesini seçin, 2019.

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

    Aracı Özellikleri sekmesi, 2018.

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

    Aracı Özellikleri sekmesi, 2017.

    Aracı havuzları sekmesinden istenen aracıyı seçin ve yetenekler sekmesini seçin.

    Aracı Özellikleri sekmesini seçin, 2015.

  5. Agent.VersionÖzelliği bulun. Bu değeri en son yayınlanan aracı sürümüne karşı kontrol edebilirsiniz. Azure Pipelines aracısı ' na bakın ve listelenen en yüksek sürüm numarası için sayfayı kontrol edin.

  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 ' den başlayarak, sunucunuzu yerel bir diskte aracı paket dosyalarını aramak üzere yapılandırabilirsiniz. Bu yapılandırma, sürümü sırasında sunucu ile gelen varsayılan sürümü geçersiz kılar. Bu senaryo, sunucunun internet erişimi olmadığında da geçerlidir.

  1. Internet erişimi olan bir bilgisayardan, aracı paket dosyalarının en son sürümünü (.zip veya. tar. gz biçiminde) Azure Pipelines aracısı GitHub yayınlar sayfasındanindirin.

  2. seçtiğiniz bir yöntemi (USB sürücüsü, ağ aktarımı vb.) kullanarak indirilen paket dosyalarını her bir Azure DevOps Server uygulama katmanına aktarın. Aracı dosyalarını klasörün altına yerleştirin %ProgramData%\Microsoft\Azure DevOps\Agents .

  3. Hazırsınız! Azure DevOps Server, aracıların her güncelleştirildiği anda 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.

Hizmet komutlarını çalıştırmak neden sudo gerekir?

./svc.shsystemctl, gerektiren öğesini kullanır sudo .

Kaynak kodu: GitHub üzerindeki systemd. svc. sh. Template

Bir güvenlik duvarı kullanıyorum ve kodum Azure Repos. Aracının iletişim kurması gereken URL 'Ler nelerdir?

Bir güvenlik duvarının arkasındaki güvenli bir ağda bir aracı çalıştırıyorsanız, aracının aşağıdaki URL 'Ler ve IP adresleriyle iletişim başlatabilmesini sağlayın.

Etki alanı URL'si Description
https://{organization_name}.pkgs.visualstudio.com Azure DevOps kullanan kuruluşlar için Paketleme API'sini {organization_name}.visualstudio.com kullanma
https://{organization_name}.visualstudio.com Etki alanını kullanan kuruluşlar {organization_name}.visualstudio.com için
https://{organization_name}.vsblob.visualstudio.com Azure DevOps kullanan kuruluşlar için telemetri {organization_name}.visualstudio.com verileri ekleme
https://{organization_name}.vsrm.visualstudio.com Release Management kullanan kuruluşlar için hizmet {organization_name}.visualstudio.com hizmetleri
https://{organization_name}.vssps.visualstudio.com Azure DevOps kullanan kuruluşlar için platform {organization_name}.visualstudio.com hizmetleri
https://{organization_name}.vstmr.visualstudio.com Azure DevOps kullanan kuruluşlar için Test Yönetim Hizmetleri'ne {organization_name}.visualstudio.com sahip olun
https://*.blob.core.windows.net Azure Artifacts
https://*.dev.azure.com Etki alanını kullanan kuruluşlar dev.azure.com için
https://*.vsassets.io Azure Artifacts aracılığıyla CDN
https://*.vsblob.visualstudio.com Azure DevOps kullanan kuruluşlar için telemetri dev.azure.com verileri ekleme
https://*.vssps.visualstudio.com Azure DevOps kullanan kuruluşlar için platform dev.azure.com hizmetleri
https://*.vstmr.visualstudio.com Azure DevOps kullanan kuruluşlar için Test Yönetim Hizmetleri'ne dev.azure.com sahip olun
https://app.vssps.visualstudio.com Etki alanını kullanan kuruluşlar {organization_name}.visualstudio.com için
https://dev.azure.com Etki alanını kullanan kuruluşlar dev.azure.com için
https://login.microsoftonline.com Azure Active Directory oturumu açma
https://management.core.windows.net Azure Yönetim API'si'ler
https://vstsagentpackage.azureedge.net Aracı paketi

Kuruluşta mevcut güvenlik duvarı veya IP kısıtlamalarının olduğundan emin olmak için, ve 'nin açık olduğundan emin olun ve izin ver listelenen IP'lerinizi IP sürümünüze bağlı olarak aşağıdaki IP adreslerini içerecek dev.azure.com*dev.azure.com şekilde güncelleştirin. Şu anda ve IP adreslerini izinli olarak listeleye alıyorsanız, bunları kaldırmanız gerekmay olarak 13.107.6.18313.107.9.183 yerinde bırakın.

IPv4 aralıkları

  • 13.107.6.0/24
  • 13.107.9.0/24
  • 13.107.42.0/24
  • 13.107.43.0/24

IPv6 aralıkları

  • 2620:1ec:4::/48
  • 2620:1ec:a92::/48
  • 2620:1ec:21::/48
  • 2620:1ec:22::/48

Not

İzin verilen adresler hakkında daha fazla bilgi için bkz. İzin verilen adres listeleri ve ağ bağlantıları.

Nasıl yaparım? otomatik olarak imzalanan sertifikayla çalıştıracak mısınız?

Aracıyı otomatik olarak imzalanan sertifikayla çalıştırma

Nasıl yaparım? bir arka web proxy?

Aracıyı bir web proxy

Nasıl yaparım? yeniden başlatın

Aracıyı etkileşimli olarak çalıştıracaksanız Etkileşimli olarak çalıştırma konusunda yeniden başlatma yönergelerine bakın. Aracıyı sistemli bir hizmet olarak çalıştırdıysanız Aracıyı Durdur ve ardından Başlat adımlarını izleyin.

Nasıl yaparım? bir aracıyı atlayarak web proxy ve Azure Pipelines?

Aracının proxy'nizi atlayarak doğrudan Azure Pipelines bağlanmalarını web proxy aşağıdaki URL'lere erişmesini sağlamak için yapılandırmanız gerekir.

Etki alanını kullanan kuruluşlar *.visualstudio.com için:

https://login.microsoftonline.com
https://app.vssps.visualstudio.com 
https://{organization_name}.visualstudio.com
https://{organization_name}.vsrm.visualstudio.com
https://{organization_name}.vstmr.visualstudio.com
https://{organization_name}.pkgs.visualstudio.com
https://{organization_name}.vssps.visualstudio.com

Etki alanını kullanan kuruluşlar dev.azure.com için:

https://dev.azure.com
https://*.dev.azure.com
https://login.microsoftonline.com
https://management.core.windows.net
https://vstsagentpackage.azureedge.net
https://vssps.dev.azure.com

Kuruluşta mevcut güvenlik duvarı veya IP kısıtlamalarının olduğundan emin olmak için, ve 'nin açık olduğundan emin olun ve izin ver listelenen IP'lerinizi IP sürümünüze bağlı olarak aşağıdaki IP adreslerini içerecek dev.azure.com*dev.azure.com şekilde güncelleştirin. Şu anda ve IP adreslerini izinli olarak listeleye alıyorsanız, bunları kaldırmanız gerekmay olarak 13.107.6.18313.107.9.183 yerinde bırakın.

IPv4 aralıkları

  • 13.107.6.0/24
  • 13.107.9.0/24
  • 13.107.42.0/24
  • 13.107.43.0/24

IPv6 aralıkları

  • 2620:1ec:4::/48
  • 2620:1ec:a92::/48
  • 2620:1ec:21::/48
  • 2620:1ec:22::/48

Not

Bu yordam, aracının bir aracıyı atlayarak web proxy. Derleme işlem hattınız ve betikleriniz, derlemenize web proxy her görev ve araç için işlerinizi atlayarak işlemeye devam etmektir.

Örneğin, bir NuGet görevi kullanıyorsanız, web proxy'nizi, kullanmakta NuGet akışı barındıran sunucunun URL'sini atlayarak desteklemek için yapılandırmanız gerekir.

TFS'yi ve yukarıdaki bölümlerde yer alan URL'leri kullanmak bana uygun değil. Nereden yardım aedebilirim?

Web sitesi ayarları ve güvenliği

Şirket içi TFS'yi kullanıyor ve bu özelliklerden bazılarını göremiyorum. Neden olmasın?

Bu özelliklerden bazıları yalnızca şirket Azure Pipelines şirket içinde kullanılamaz. TFS'nin en son sürümüne yükseltme yaptıysanız bazı özellikler şirket içinde kullanılabilir.