Aracılığıyla paylaş


Kendi kendine barındırılan Linux aracıları

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Bu makalede, 4.x aracı yazılımını Azure DevOps Services ve Azure DevOps Server ile kullanma yönergeleri sağlanır.

Bu makalede, 3.x aracı yazılımını Azure DevOps Server 2022 ve Azure DevOps Server 2020 ile kullanma yönergeleri sağlanır. 3.x aracısını destekleyen Azure DevOps Server sürümlerinin listesi için bkz. Azure DevOps Server 3.x aracısını destekliyor.

Önemli

Azure DevOps Services veya Azure DevOps Server kullanıyorsanız 4.x aracı yazılımını kullanıyor olmanız gerekir.

İşlerinizi çalıştırmak için en az bir ajana ihtiyacınız vardır. Linux aracısı, Java ve Android uygulamaları dahil olmak üzere farklı türlerde uygulamalar derleyebilir ve dağıtabilir. Desteklenen Linux dağıtımlarının listesi için bkz. Önkoşulları denetleme .

Uyarı

Bu makalede, kendi kendine barındırılan aracıyapılandırmanın nasıl yapılacağı açıklanmaktadır. Azure DevOps Services kullanıyorsanız ve Microsoft tarafından barındırılan bir aracı gereksinimlerinizi karşılıyorsa, şirket içinde barındırılan bir Linux aracısı ayarlamayı atlayabilirsiniz.

Aracılar hakkında bilgi edinin

Bir aracının ne olduğunu ve nasıl çalıştığını zaten biliyorsanız, aşağıdaki bölümlere doğrudan geçebilirsiniz. Ancak ne yaptıkları ve nasıl çalıştıkları hakkında daha fazla bilgi edinmek isterseniz bkz . Azure Pipelines aracıları.

Önkoşulları denetleme

4.x aracısı .NET 8'i temel alır. Bu aracıyı birkaç Linux dağıtımında çalıştırabilirsiniz. Desteklenen .NET 8 dağıtımlarının aşağıdaki alt kümesini destekliyoruz:

  • Desteklenen dağıtımlar
    • x64
      • Debian 12
      • Fedora 39 & 40
      • openSUSE 15.5 & 15.6
      • Red Hat Enterprise Linux 8 ve 9
      • SUSE Enterprise Linux 15.5
      • Ubuntu 24.04, 22.04, 20.04
      • Azure Linux 2.0
      • Oracle Linux 8 ve 9
    • ARM64
      • Debian 11 & 12
      • Ubuntu 24.04, 22.04, 20.04
    • Alpine x64
  • Git - Platformunuzdan bağımsız olarak Git 2.9.0 veya üzerini yüklemeniz gerekir. Git'in en son sürümünü yüklemenizi kesinlikle öneririz.
  • .NET - Aracı yazılımı .NET 8 üzerinde çalışır, ancak .NET önkoşulu olmadığından kendi .NET sürümünü yükler.
  • Subversion - Subversion deposundan oluşturuyorsanız makineye Subversion istemcisini yüklemeniz gerekir.
  • TFVC - TFVC deposundan oluşturuyorsanız bkz. TFVC önkoşulları.

Uyarı

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

.NET tarafından gerekli olan bu bağımlılıklardan bazılarının gibi packages.efficios.comüçüncü taraf sitelerden getirildiğini unutmayın. installdependencies.sh Betiği gözden geçirin ve betiği çalıştırmadan önce başvuruda bulunan üçüncü taraf sitelere Linux makinenizden erişildiğinden emin olun.

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

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

3.x aracısı .NET 6'ya dayanır. Bu aracıyı birkaç Linux dağıtımında çalıştırabilirsiniz. Desteklenen .NET 6 dağıtımlarının aşağıdaki alt kümesini destekliyoruz:

  • Desteklenen dağıtımlar
    • x64
      • Debian 10+
      • Fedora 36+
      • openSUSE 15+
      • Red Hat Enterprise Linux 7+
        • Artık ayrı paket gerekmez
      • SUSE Enterprise Linux 12 SP2 veya üzeri
      • Ubuntu 24.04, 22.04, 20.04, 18.04, 16.04
      • Azure Linux 2.0
      • Oracle Linux 7 ve üzeri
    • ARM64
      • Debian 10+
      • Ubuntu 22.04, 20.04, 18.04
    • Alpine x64
  • Git - Platformunuzdan bağımsız olarak Git 2.9.0 veya üzerini yüklemeniz gerekir. Git'in en son sürümünü yüklemenizi kesinlikle öneririz.
  • .NET - Aracı yazılımı .NET 6 üzerinde çalışır, ancak .NET önkoşulu olmaması için kendi .NET sürümünü yükler.
  • Subversion - Subversion deposundan oluşturuyorsanız makineye Subversion istemcisini yüklemeniz gerekir.
  • TFVC - TFVC deposundan oluşturuyorsanız bkz. TFVC önkoşulları.

Uyarı

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

.NET tarafından gerekli olan bu bağımlılıklardan bazılarının gibi packages.efficios.comüçüncü taraf sitelerden getirildiğini unutmayın. installdependencies.sh Betiği gözden geçirin ve betiği çalıştırmadan önce başvuruda bulunan üçüncü taraf sitelere Linux makinenizden erişildiğinden emin olun.

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

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

İlk defa manuel olarak ajan kurulumu yapmanız gerekir. Aracıların nasıl çalıştığına ilişkin bir his edindikten sonra veya birçok aracıyı ayarlamayı otomatikleştirmek istiyorsanız katılımsız yapılandırmayı kullanmayı göz önünde bulundurun.

İzinleri hazırlama

Kendi sunucusunda barındırılan aracılar için bilgi güvenliği

Aracıyı yapılandıran kullanıcının havuz yöneticisi izinlerine ihtiyacı vardır, ancak aracıyı çalıştıran kullanıcı bunu yapmaz.

Aracı tarafından denetlenen klasörler, şifresi çözülebilecek veya dışarı aktarılabilir gizli diziler içerdiğinden mümkün olduğunca az kullanıcıyla sınırlandırılmalıdır.

Azure Pipelines aracısı, dış kaynaklardan indirmiş olduğu kodu yürütmek için tasarlanmış bir yazılım ürünüdür. Bu, doğal olarak Uzaktan Kod Yürütme (RCE) saldırılarına yönelik bir hedef olabilir.

Bu nedenle, işlem hattı aracılarının her bir kullanımını iş yapmak için çevreleyen tehdit modelini göz önünde bulundurmak ve aracıyı çalıştıran kullanıcıya, aracının çalıştığı makineye, İşlem Hattı tanımına yazma erişimi olan kullanıcılara, yaml'nin depolandığı git depolarına verilebilen en düşük izinlerin ne olduğuna karar vermek önemlidir. veya yeni işlem hatları için havuza erişimi denetleyen kullanıcı grubunu seçin.

Aracıyı çalıştıran kimliğin, aracıyı havuza bağlama izinlerine sahip kimlikten farklı olması en iyi yöntemdir. Kimlik bilgilerini (ve aracıyla ilgili diğer dosyaları) oluşturan kullanıcı, bunları okuması gereken kullanıcıdan farklıdır. Bu nedenle, ajan makinesinin kendisine ve günlükler ve artefaktlar gibi hassas dosyalar içeren ajan klasörlerine verilen erişimi dikkatli bir şekilde değerlendirmek daha güvenlidir.

Aracı klasörüne yalnızca DevOps yöneticileri ve aracı işlemini çalıştıran kullanıcı kimliği için erişim vermek mantıklıdır. Yöneticilerin, derleme hatalarını anlamak amacıyla dosya sistemini incelemesi veya Azure DevOps hatalarını bildirebilmek için günlük dosyalarını alması gerekebilir.

Hangi kullanıcıyı kullanacağınıza karar verme

Bir kerelik bir adım olarak aracıyı kaydetmeniz gerekir. Aracı kuyruğu yönetme iznine sahip birinin bu adımları tamamlaması gerekir. Temsilci, günlük işlemlerde bu kişinin kimlik bilgilerini kullanmayacak, ancak kayıt işleminde bu bilgilere ihtiyaç duyulmaktadır. Aracıların iletişim kurma şekli hakkında daha fazla bilgi edinin.

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

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

Kullanıcı bir Azure DevOps kuruluş sahibi mi, TFS mi yoksa Azure DevOps Server yöneticisi mi? Burada durun, izniniz var.

Aksi durumda:

  1. Bir tarayıcı açın ve Azure Pipelines kuruluşunuz veya Azure DevOps Server ya da TFS sunucusu için Aracı havuzları sekmesine gidin:

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

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

      Kuruluş ayarlarının nasıl seçildiğini gösteren ekran görüntüsü.

    3. Ajan Havuzları'nı seçin.

      Aracı havuzları sekmesinin nasıl seçildiğini gösteren ekran görüntüsü.

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

    2. Azure DevOps>Koleksiyonu ayarları'nı seçin.

      Koleksiyon ayarlarının nasıl seçildiğini gösteren ekran görüntüsü.

    3. Ajan Havuzları'nı seçin.

      Aracı Havuzları Seçin.

    Aracı havuzlarına nasıl gidileceğini ve aracı havuzlarının nasıl seçileceğini gösteren ekran görüntüsü.

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

  3. Kullanacağınız kullanıcı hesabı gösterilmiyorsa, yöneticinin hesabı eklemesini sağlayın. Yönetici, aracı havuzu yöneticisi, Azure DevOps kuruluş sahibi veya TFS ya da Azure DevOps Server yöneticisi olabilir.

    Bu bir dağıtım grubu aracısıysa, yönetici dağıtım grubu yöneticisi, Azure DevOps kuruluş sahibi veya TFS ya da Azure DevOps Server yöneticisi olabilir.

    Azure Pipelines'ın Dağıtım Grupları sayfasındaki Güvenlik sekmesinde bir kullanıcıyı dağıtım grubu yöneticisi rolüne ekleyebilirsiniz.

Uyarı

Şuna benzer bir ileti görürseniz: Üzgünüz, kimliği ekleyemedik. Lütfen farklı bir kimlik deneyin. Büyük olasılıkla bir kuruluş sahibi, TFS veya Azure DevOps Server yöneticisi için yukarıdaki adımları izlemişsinizdir. Hiçbir şey yapmanıza gerek yok; aracı havuzunu yönetme izniniz zaten var.

Aracıyı indirme ve yapılandırma

Azure Hatları

  1. Önceki bölümde açıklandığı gibi izinleri hazırladığınız hesabı kullanarak makinede oturum açın.

  2. Web tarayıcınızda Azure Pipelines'da oturum açın ve Aracı havuzları sekmesine gidin:

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

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

      Kuruluş ayarlarının nasıl seçildiğini gösteren ekran görüntüsü.

    3. Ajan Havuzları'nı seçin.

      Aracı havuzları sekmesinin nasıl seçildiğini gösteren ekran görüntüsü.

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

    2. Azure DevOps>Koleksiyonu ayarları'nı seçin.

      Koleksiyon ayarlarının nasıl seçildiğini gösteren ekran görüntüsü.

    3. Ajan Havuzları'nı seçin.

      Aracı Havuzları Seçin.

    Aracı havuzlarına nasıl gidileceğini ve aracı havuzlarının nasıl seçileceğini gösteren ekran görüntüsü.

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

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

  5. Sol bölmede belirli bir aromayı seçin. Birçok Linux dağıtımı için x64 veya ARM sunuyoruz.

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

  7. Sayfadaki yönergeleri izleyin.

  8. Ajanı seçtiğiniz dizine açınız. cd dizinine gidin ve ./config.sh çalıştırın.

Sunucu URL'si

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

Doğrulama türü

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 Öz-host ajan kimlik doğrulama seçenekleri bölümüne bakın.

Etkileşimli olarak çalıştırma

Aracıyı etkileşimli modda mı yoksa hizmet olarak mı çalıştıracaklarına ilişkin yönergeler için bkz . Aracılar: Etkileşimli ve hizmet.

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. Ajanı çalıştırın.

    ./run.sh
    

Aracıyı yeniden başlatmak için Ctrl+C tuşlarına basın ve ardından run.sh çalıştırarak yeniden başlatın.

Ajanınızı kullanmak için, ajanınızın havuzunu kullanarak bir çalıştırın. Farklı bir havuz seçmediyseniz, aracınız Varsayılan havuzuna yerleştirilmiş olur.

Bir defa çalıştır

Etkileşimli ç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 modda aracılar yalnızca bir işi kabul eder ve ardından düzgün bir şekilde kapatılır (Azure Container Instances gibi bir hizmette Docker üzerinde çalıştırmak için kullanışlıdır).

Sistemli hizmet olarak çalıştırma

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

  • Ubuntu 16 LTS veya üzeri
  • Red Hat 7.1 veya üzeri

Aracınızı bir hizmet servisi olarak çalıştırmanız ve yönetmeniz için ./svc.sh örnek systemd betik sunuyoruz. Ajan yapılandırıldığında bu betik oluşturulacak. Komut dosyasını çalıştırmadan önce incelemenizi ve gerekirse güncelleştirmenizi öneririz.

Bazı önemli uyarılar:

  • Aracınızı bir hizmet olarak çalıştırırsanız, aracı hizmetini root kullanıcısı olarak çalıştıramazsınız.
  • SELinux çalıştıran kullanıcılar sağlanan svc.sh betikte sorun olduğunu bildirdi. Bu ajan sorununa başlangıç noktası olarak başvurun. SELinux resmi olarak desteklenen bir yapılandırma değildir.

Uyarı

Farklı bir dağıtımınız varsa veya diğer yaklaşımları tercih ediyorsanız, tercih ettiğiniz hizmet mekanizması türünü kullanabilirsiniz. Bkz. Hizmet dosyaları.

Komutlar

Ajan dizinine geçin

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

cd ~/myagent$

Yükleme

Komut:

sudo ./svc.sh install [username]

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

Başlangıç

sudo ./svc.sh start

Statü

sudo ./svc.sh status

Durdur

sudo ./svc.sh stop

Kaldır

Kaldırma işlemine başlamadan önce durmalısınız.

sudo ./svc.sh uninstall

Ortam değişkenlerini güncelleştirme

Hizmeti yapılandırdığınızda, geçerli oturum açma kullanıcınız için PATH, LANG, JAVA_HOME, ANT_HOME ve MYSQL_PATH gibi bazı kullanışlı ortam değişkenlerinin anlık görüntüsünü alır. Değişkenleri güncelleştirmeniz gerekiyorsa (ö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ü, aracı kök dizini altındaki .env dosyasında (PATH içinde .path depolanır) depolanır; ortam değişkeni değişikliklerini uygulamak için bu dosyaları doğrudan da 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ı ayarlayabilir veya betikleri çağırabilirsiniz.

  1. runsvc.shdüzenleyin.

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

    # insert anything to setup env when running as a service
    

Hizmet dosyaları

Hizmeti yüklediğinizde, bazı hizmet dosyaları yerine konur.

systemd hizmet dosyası

Bir systemd hizmet dosyası oluşturulur:

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

Örneğin, adlı our-linux-agentbir aracı yapılandırdınız (yukarıya bakın). Hizmet dosyası aşağıdakilerden biri olacaktır:

  • Azure Pipelines: Kuruluşunuzun adı. Örneğin https://dev.azure.com/fabrikam öğesine bağlanırsanız, hizmet adı /etc/systemd/system/vsts.agent.fabrikam.our-linux-agent.service olur.

  • TFS veya Azure DevOps Sunucusu: Şirket içi sunucunuzun adı. Örneğin http://our-server:8080/tfs öğesine bağlanırsanız, hizmet adı /etc/systemd/system/vsts.agent.our-server.our-linux-agent.service olur.

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

.service dosyası

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

Alternatif hizmet mekanizmaları

Betiği, ./svc.sh aracınızı bir systemd hizmeti olarak çalıştırmanız ve yönetmeniz için kullanışlı bir yol olarak sunuyoruz. Ancak tercih ettiğiniz hizmet mekanizması türünü kullanabilirsiniz (örneğin: initd veya upstart).

Yukarıda açıklanan şablonu, diğer hizmet dosyası türlerinin oluşturulmasını kolaylaştırmak için kullanabilirsiniz.

Bir ajan hatasını önlemek için bir cgroup kullanın.

Aracının başarısız olduğu veya kullanılamaz hale geldiği durumlardan kaçınmak önemlidir, aksi takdirde aracı işlem hattı günlüklerini akışla aktaramaz veya işlem hattı durumunu sunucuya geri bildiremez. Bu tür bir sorunun yüksek bellek baskısı nedeniyle oluşma riskini, cgroups ve daha düşük bir oom_score_adj kullanarak azaltabilirsiniz. Bunu yaptıktan sonra, Linux, aracı süreçten bellek geri kazanmadan önce işlem hattı işlerinden sistem belleğini geri kazanır. cgroups.

Temsilciyi değiştir

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

Aracıyı zaten var olan bir aracıyla aynı adı kullanarak yapılandırdığınızda, mevcut aracıyı değiştirmek isteyip istemediğiniz sorulur. Eğer Y yanıtını verirseniz, değiştirdiğiniz temsilciyi kaldırdığınızdan emin olun (aşağıdaki açıklamalara bakın). Aksi takdirde, birkaç dakikalık çatışmalardan sonra ajanlardan biri kapanır.

Bir aracıyı kaldır ve yeniden yapılandır

Aracıyı kaldırmak için:

  1. Önceki bölümde açıklandığı gibi hizmeti durdurun ve kaldırın.

  2. Aracıyı çıkarın.

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

Aracıyı kaldırdıktan sonra onu yeniden yapılandırabilirsiniz.

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

Aracı, insan müdahalesi olmadan bir komut dosyasından ayarlanabilir. --unattended'u ve tüm soruların yanıtlarını geçmelisiniz.

Aracıyı yapılandırmak için kuruluşunuzun URL'sini veya aracıları ayarlama yetkisi olan birinin koleksiyonunu ve kimlik bilgilerini bilmesi gerekir. Diğer tüm yanıtlar isteğe bağlıdır. Bunun yerine herhangi bir komut satırı parametresi bir ortam değişkeni kullanılarak belirtilebilir: adını büyük harfe koyun ve önüne ekleyin VSTS_AGENT_INPUT_. Örneğin, VSTS_AGENT_INPUT_PASSWORDbelirtmek yerine --password.

Gerekli seçenekler

  • --unattended - aracı kurulumu bilgi istemez ve tüm ayarlar komut satırında 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ğrulama türü. Geçerli değerler şunlardır:
    • pat (Kişisel erişim belirteci) - PAT, Azure DevOps Services ile çalışan tek şemadır.
    • alt (Temel kimlik doğrulaması)

Kimlik doğrulama seçenekleri

  • --auth patseçtiyseniz:
    • --token <token> - kişisel erişim belirtecinizi belirtir
    • PAT, Azure DevOps Services ile çalışan tek şemadır.
  • --auth negotiate veya --auth altseçtiyseniz:
    • --userName <userName> - bir kullanıcı adı belirtir
    • --password <password> - bir parola belirtir

Havuz ve acente adları

  • --pool <pool> - Ajanın katılacağı havuzun adı
  • --agent <agent> - temsilci adı
  • --replace - bir havuzdaki vekili değiştir. Başka bir aracı aynı adla dinliyorsa, bir çakışma nedeniyle başarısız olmaya başlar.

Ajan kurulumu

  • --work <workDirectory> - iş verilerinin depolandığı iş dizini. Varsayılan olarak, aracı dizininin kökünde _work olur. İş dizini belirli bir aracıya aittir ve birden çok aracı arasında paylaşılmamalıdır.
  • --acceptTeeEula - Team Explorer Everywhere Son Kullanıcı Lisans Sözleşmesi'ni kabul edin (yalnızca macOS ve Linux)
  • --disableloguploads - konsol günlüğü çıkışını sunucuya akışla aktarmayın veya göndermeyin. Bunun yerine, iş tamamlandıktan sonra aracı sunucunun dosya sisteminden alabilirsiniz.

Yalnızca dağıtım grubu

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

Yalnızca ortamlar

  • --addvirtualmachineresourcetags - ortam kaynak etiketlerinin eklenmesi gerektiğini belirtmek için kullanılır
  • --virtualmachineresourcetags <tags> - ortam kaynak aracısının etiketlerinin virgülle ayrılmış listesini belirtmek için --addvirtualmachineresourcetags ile birlikte 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 barındırdığınız ajanınızla ilgili sorun yaşıyorsanız, tanılama çalıştırmayı deneyebilirsiniz. Temsilciyi yapılandırdıktan sonra:

./run.sh --diagnostics

Bu işlem, sorunu gidermenize yardımcı olabilecek bir tanılama paketi aracılığıyla çalıştırılır. Tanılama özelliği aracı 2.165.0 sürümünden itibaren kullanılabilir.

Öz barındırılan aracılar için ağ tanılaması

Kendi kendine barındırılan aracıların ağ sorunlarını gidermek için kullanılabilecek ek günlükleri toplamak amacıyla Agent.Diagnostic değerini true olarak ayarlayın. Daha fazla bilgi için bkz. Kendinden barındırılan aracılar için ağ tanılama işlemleri.

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.

Yetenekler

Ajanınızın yetkinlikleri kataloglanır ve havuzda tanıtılır, böylece yalnızca işleyebileceği derlemeler ve sürümler kendisine atanır. Bkz. Derleme ve sürüm aracısı özellikleri.

Çoğu durumda, aracıyı dağıttığınızda yazılım veya yardımcı programlar yüklemeniz gerekir. Genellikle geliştirme makinenizde kullandığınız yazılım ve araçları aracılarınıza yüklemeniz gerekir.

Örneğin, derlemeniz npm görevini içeriyorsa, havuzda npm yüklü bir derleme aracısı olmadığı sürece derleme çalışmaz.

Önemli

Özellikler 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şirse, yeni değerleri almak için aracının yeniden başlatılması gerekir. Yeni bir yazılımı bir aracıya yükledikten sonra, yeni özelliğin havuzda görünmesi ve derlemenin çalışabilmesi için aracıyı yeniden başlatmanız gerekir.

Ortam değişkenlerini kapasite olarak dışlamak istiyorsanız, yoksaymak istediğiniz değişkenlerin virgülle ayrılmış bir listesini içeren bir ortam değişkeni VSO_AGENT_IGNORE belirleyerek bunları tanımlayabilirsiniz.

Sıkça Sorulan Sorular

Yeni v3 aracı yazılımı hakkında nereden daha fazla bilgi edinebilirim?

v3 aracı yazılımı hakkında bilgi ve SSS için bkz. Aracı yazılımı sürüm 3.

En son temsilci sürümüne sahip olduğumdan nasıl emin olabilirim?

  1. Aracı havuzları sekmesine gidin:

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

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

      Kuruluş ayarlarının nasıl seçildiğini gösteren ekran görüntüsü.

    3. Ajan Havuzları'nı seçin.

      Aracı havuzları sekmesinin nasıl seçildiğini gösteren ekran görüntüsü.

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

    2. Azure DevOps>Koleksiyonu ayarları'nı seçin.

      Koleksiyon ayarlarının nasıl seçildiğini gösteren ekran görüntüsü.

    3. Ajan Havuzları'nı seçin.

      Aracı Havuzları Seçin.

    Aracı havuzlarına nasıl gidileceğini ve aracı havuzlarının nasıl seçileceğini gösteren ekran görüntüsü.

  2. Ajanı içeren havuza tıklayın.

  3. Ajanı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ç' seçeneğini seçin ve ardından aracıyı seçin.

    3. Özellikler sekmesini seçin.

      Özellikler sekmesini seçin.

      Uyarı

      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 Microsoft tarafından barındırılan aracı kullanma bölümüne bakın.

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

      İstenen havuzu seçin.

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

      Ajanları seçin ve istediğiniz ajanı seçin.

    3. Özellikler sekmesini seçin.

      Aracı özellikleri sekmesi.

  5. Agent.Version özelliğine bakın. 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ını kontrol etmek için sayfayı inceleyin.

  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 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. Ajan dosyalarını aşağıdaki klasöre yerleştirin:

  • 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.

  1. 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.

Hizmet komutlarını çalıştırmak için sudo neden gereklidir?

./svc.sh , systemctl, sudo gerektirir.

Kaynak kodu: GitHub'da systemd.svc.sh.template

Bir güvenlik duvarı çalıştırıyorum ve kodum Azure Repos'ta. Ajanın hangi URL'lerle iletişim kurması gerekiyor?

Güvenlik duvarının arkasındaki güvenli bir ağda aracı çalıştırıyorsanız, aracının aşağıdaki URL'ler ve IP adresleriyle iletişim başlataadığından emin olun.

Etki alanı URL'si Açıklama
https://{organization_name}.pkgs.visualstudio.com {organization_name}.visualstudio.com etki alanını kullanan kuruluşlar için Azure DevOps Paketleme API'si
https://{organization_name}.visualstudio.com {organization_name}.visualstudio.com alan adını kullanan kuruluşlar için
https://{organization_name}.vsblob.visualstudio.com {organization_name}.visualstudio.com etki alanını kullanan kuruluşlar için Azure DevOps Telemetrisi
https://{organization_name}.vsrm.visualstudio.com {organization_name}.visualstudio.com alanını kullanan kuruluşlar için Sürüm Yönetimi Hizmetleri
https://{organization_name}.vssps.visualstudio.com {organization_name}.visualstudio.com etki alanını kullanan kuruluşlar için Azure DevOps Platform Hizmetleri
https://{organization_name}.vstmr.visualstudio.com {organization_name}.visualstudio.com etki alanını kullanan kuruluşlar için Azure DevOps Test Yönetim Hizmetleri
https://*.blob.core.windows.net Azure Artifacts
https://*.dev.azure.com dev.azure.com alan adını kullanan kuruluşlar için
https://*.vsassets.io CDN aracılığıyla Azure Artifacts
https://*.vsblob.visualstudio.com dev.azure.com etki alanını kullanan kuruluşlar için Azure DevOps Telemetrisi
https://*.vssps.visualstudio.com dev.azure.com etki alanını kullanan kuruluşlar için Azure DevOps Platform Hizmetleri
https://*.vstmr.visualstudio.com dev.azure.com etki alanını kullanan kuruluşlar için Azure DevOps Test Yönetim Hizmetleri
https://app.vssps.visualstudio.com {organization_name}.visualstudio.com alan adını kullanan kuruluşlar için
https://dev.azure.com dev.azure.com alan adını kullanan kuruluşlar için
https://login.microsoftonline.com Microsoft Entra oturum açma
https://management.core.windows.net Azure Yönetim API'leri
https://download.agent.dev.azure.com Ajan paketi

Önemli

Azure DevOps için Edgio CDN kullanımdan kaldırıldı. Bu, aracı yazılımı indirme için güvenlik duvarı kurallarında izin verilen yeni bir etki alanı URL'sini gerektirir. Ajana indirme izni vermek için beyaz listeye eklenecek yeni etki alanı https://*.dev.azure.com'dir. Güvenlik duvarı kurallarınız joker karakterlere izin vermiyorsa kullanın https://download.agent.dev.azure.com.

Azure DevOps ekibi bu değişikliği aşağıdaki tarihe kadar yapmanızı önerir:

  • Azure DevOps Services için 1 Mayıs 2025
  • Azure DevOps Server için 15 Mayıs 2025

Daha fazla bilgi için bkz. İşlem Hatlarında Aracılar için CDN Etki Alanı URL'si değişikliği.

Kuruluşunuzun mevcut güvenlik duvarı veya IP kısıtlamalarıyla uyumlu çalıştığından emin olmak için, dev.azure.com ve *dev.azure.com açık olmalıdır. IP sürümünüz temelinde izin verilen IP listenizi güncelleyerek aşağıdaki IP adreslerini ekleyin. Şu anda 13.107.6.183 ve 13.107.9.183 IP adreslerini izin listesine aldıysanız, kaldırmanıza gerek olmadığı için yerinde bırakın.


13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
150.171.22.0/24 
150.171.23.0/24 
150.171.73.0/24 
150.171.74.0/24 
150.171.75.0/24 
150.171.76.0/24

Uyarı

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

Ajansı kendinden imzalı sertifikayla nasıl çalıştırırım?

Aracıyı kendi imzasını taşıyan sertifikayla çalıştır

Bir web proxy arkasında aracı nasıl çalıştırırım?

Aracıyı bir web ara sunucusu arkasında çalıştırma

Temsilciyi nasıl yeniden başlatırım?

Aracıyı etkileşimli olarak çalıştırıyorsanız Etkileşimli çalıştırma başlığındaki yeniden başlatma yönergelerine bakın. Aracıyı sistemli bir hizmet olarak çalıştırıyorsanız Aracıyı durdurma ve başlatma adımlarını izleyin.

Aracıyı web proxy'sini atlayacak ve Azure Pipelines'a bağlanacak şekilde nasıl yapılandırabilirim?

Aracının proxy'nizi atlayıp azure pipelines'a doğrudan bağlanmasını istiyorsanız, aracının aşağıdaki URL'lere erişmesini sağlamak için web proxy'nizi yapılandırmanız gerekir.

*.visualstudio.com alan adını kullanan kuruluşlar 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

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

https://dev.azure.com
https://*.dev.azure.com
https://login.microsoftonline.com
https://management.core.windows.net
https://download.agent.dev.azure.com
https://vssps.dev.azure.com

Kuruluşunuzun mevcut güvenlik duvarı veya IP kısıtlamalarıyla uyumlu çalıştığından emin olmak için, dev.azure.com ve *dev.azure.com açık olmalıdır. IP sürümünüz temelinde izin verilen IP listenizi güncelleyerek aşağıdaki IP adreslerini ekleyin. Şu anda 13.107.6.183 ve 13.107.9.183 IP adreslerini izin listesine aldıysanız, kaldırmanıza gerek olmadığı için yerinde bırakın.


13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
150.171.22.0/24 
150.171.23.0/24 
150.171.73.0/24 
150.171.74.0/24 
150.171.75.0/24 
150.171.76.0/24

Uyarı

Bu yordam, aracının bir web proxy'sini atlamasına olanak tanır. Derleme işlem hattınız ve betikleriniz, derlemenizde çalıştırdığınız her görev ve araç için web proxy'nizi atlamayı işlemeye devam etmelidir.

Örneğin, bir NuGet görevi kullanıyorsanız, web proxy'nizi kullandığınız NuGet akışını barındıran sunucunun URL'sini atlamayı destekleyecek şekilde yapılandırmanız gerekir.

TFS kullanıyorum ve yukarıdaki bölümlerdeki URL'ler benim için çalışmıyor. Nereden yardım alabilirim?

Web sitesi ayarları ve güvenliği

Şirket içi Azure DevOps Server'ımda bu özelliklerden bazılarını neden göremiyorum?

Bu özelliklerden bazıları yalnızca Azure DevOps Services'te kullanılabilir ve şirket içi Azure DevOps Server'da kullanılamaz. Bazı özellikler yalnızca Azure DevOps Server'ın en son sürümünde kullanılabilir.

TFVC önkoşulları

TFVC kullanıyorsanız Oracle Java JDK 1.6 veya üzeri de gerekir. (Oracle JRE ve OpenJDK bu amaç için yeterli değildir.)

TEE eklentisi , TFVC işlevselliği için kullanılır. TFVC ile çalışmayı planlıyorsanız yapılandırma sırasında kabul etmeniz gereken bir EULA'sı vardır.

TEE eklentisi artık korunmadığından ve bazı güncel olmayan Java bağımlılıkları içerdiğinden, Agent 2.198.0'dan başlayarak aracı dağıtımına eklenmez. Ancak, bir TFVC deposunu kullanıma alıyorsanız, kullanıma alma görevinin yürütülmesi sırasında TEE eklentisi indirilecektir. TEE eklentisi, iş yürütüldikten sonra kaldırılır.

Uyarı

Not: Bu indirme mekanizması nedeniyle ödeme işleminizin başlamasının uzun sürdüğünü fark edebilirsiniz.

Aracı bir ara sunucu veya güvenlik duvarının arkasında çalışıyorsa, şu siteye erişiminiz olduğundan emin olmanız gerekir: https://vstsagenttools.blob.core.windows.net/. TEE eklentisi bu adresten indirilir.

Şirket içinde barındırılan bir aracı kullanıyorsanız ve TEE indirmeyle ilgili sorunlarla karşılaşıyorsanız, TEE'yi el ile yükleyebilirsiniz:

  1. DISABLE_TEE_PLUGIN_REMOVAL ortam veya işlem hattı değişkenini true olarak ayarlayın. Bu değişken, aracının TFVC deposu kontrolünden sonra TEE eklentisini kaldırmasını engeller.
  2. Team Explorer Everywhere GitHub sürümlerinden TEE-CLC sürüm 14.135.0'ı el ile indirin.
  3. TEE-CLC-14.135.0 klasörünün içeriğini <agent_directory>/externals/tee klasörüne çıkartın.