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

Kişisel erişim belirteci oluşturun.

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

Kişisel erişim belirteci oluşturun.

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.
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:.
bir tarayıcı açın ve Azure Pipelines kuruluşunuzun veya Azure DevOps Server ya da TFS sunucunuzun aracı havuzları sekmesine gidin:
Azure DevOps, kuruluş ayarları' nı seçin.

Aracı havuzlarınıseçin.

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

Aracı havuzlarınıseçin.

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

Aracı havuzlarınıseçin.

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

Havuzları Yönet' i seçin.

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

Havuzları Yönet' i seçin.

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

Denetim Masası' nı seçin.

Aracı havuzlarınıseçin.

Sayfanın sağ tarafındaki havuzu seçin ve ardından güvenlik' e tıklayın.
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
Yukarıda açıklandığı gibi izinleri hazırladığınız hesabı kullanarak makinede oturum açın.
web tarayıcınızda Azure Pipelines oturum açın ve aracı havuzları sekmesine gidin:
Azure DevOps, kuruluş ayarları' nı seçin.

Aracı havuzlarınıseçin.

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

Aracı havuzlarınıseçin.

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

Aracı havuzlarınıseçin.

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

Havuzları Yönet' i seçin.

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

Havuzları Yönet' i seçin.

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

Denetim Masası' nı seçin.

Aracı havuzlarınıseçin.

Varsayılan havuzu seçin, aracılar sekmesini seçin ve Yeni Aracı' ı seçin.
Aracıyı al iletişim kutusunda, Linux' a tıklayın.
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.
Sağ bölmede, İndir düğmesine tıklayın.
Sayfasındaki yönergeleri izleyin.
Aracının istediğiniz dizine paketini açın.
cdBu dizine ve çalıştırın./config.sh.
Azure DevOps Server 2019 ve Azure DevOps Server 2020
Yukarıda açıklandığı gibi izinleri hazırladığınız hesabı kullanarak makinede oturum açın.
web tarayıcınızda Azure DevOps Server 2019 ' de oturum açın ve aracı havuzları sekmesine gidin:
Azure DevOps, kuruluş ayarları' nı seçin.

Aracı havuzlarınıseçin.

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

Aracı havuzlarınıseçin.

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

Aracı havuzlarınıseçin.

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

Havuzları Yönet' i seçin.

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

Havuzları Yönet' i seçin.

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

Denetim Masası' nı seçin.

Aracı havuzlarınıseçin.

Aracıyı indir' e tıklayın.
Aracı al iletişim kutusunda, Linux' a tıklayın.
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.
Sağ bölmede, İndir düğmesine tıklayın.
Sayfasındaki yönergeleri izleyin.
Aracının istediğiniz dizine paketini açın.
cdBu dizine ve çalıştırın./config.sh.
TFS 2017 ve TFS 2018
Yukarıda açıklandığı gibi izinleri hazırladığınız hesabı kullanarak makinede oturum açın.
Web tarayıcınızda TFS 'de oturum açın ve Aracı havuzları sekmesine gidin:
projenize gidin ve Ayarlar (dişli simgesi) aracı kuyrukları' ni seçin.

Havuzları Yönet' i seçin.

Aracıyı indir' e tıklayın.
Aracı al iletişim kutusunda, Linux' a tıklayın.
İndir düğmesine tıklayın.
Sayfasındaki yönergeleri izleyin.
Aracının istediğiniz dizine paketini açın.
cdBu 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
GitHub en son sürümegidin.
Aracıyı indirmek için bu sayfadaki yönergeleri izleyin.
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:
Aracıyı hizmet olarak çalıştırıyorsanız, hizmeti kaldırın.
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 iş ç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.
'yi
runsvc.shdüzenleyin.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/fabrikambağlansanız, hizmet adı şu şekilde olur:/etc/systemd/system/vsts.agent.fabrikam.our-linux-agent.serviceTFS veya Azure DevOps Server:Şirket içi sunucunuz adı. Örneğin, hizmetine
http://our-server:8080/tfsbağ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:
Yukarıda açıklanan şekilde hizmeti durdurun ve kaldırın.
Aracıyı kaldırın.
./config.sh removeKimlik 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 patseçtiysanız:--token <token>- Kişisel erişim belirtecini belirtir
- veya
--auth negotiate--auth altseçtiysanız:--userName <userName>- biçiminde bir Windows kullanıcı adıdomain\userNamebelirtir 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_workolarak, 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--runAsAutoLogoniledomain\userNamekullanılıruserName@domain.com--windowsLogonPassword <password>- oturum açma--runAsServiceparolasını belirtmek için veya Windows--runAsAutoLogonkullanılır--overwriteAutoLogon- makinede--runAsAutoLogonmevcut otomatik oturum açmanın üzerine yazmak için ile kullanılır--noRestart- Aracı yapılandırması--runAsAutoLogontamamlandı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>---deploymentGrouparacının katılması için dağıtım grubunu belirtmek için ile kullanılır--projectName <name>- proje adını--deploymentGroupayarlamak için ile kullanılır--addDeploymentGroupTags- dağıtım grubu--deploymentGroupetiketlerinin 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--addDeploymentGroupTagskullanı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--addvirtualmachineresourcetagskullanı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.
Aracı havuzları sekmesine gidin:
Azure DevOps, kuruluş ayarları' nı seçin.

Aracı havuzlarınıseçin.

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

Aracı havuzlarınıseçin.

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

Aracı havuzlarınıseçin.

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

Havuzları Yönet' i seçin.

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

Havuzları Yönet' i seçin.

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

Denetim Masası' nı seçin.

Aracı havuzlarınıseçin.

Aracıyı içeren havuza tıklayın.
Aracının etkinleştirildiğinden emin olun.
Yetenekler sekmesine gidin:
Aracı havuzları sekmesinden istenen aracı havuzunu seçin.

Aracılar ' ı seçin ve istediğiniz aracıyı 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.
Aracı havuzları sekmesinden istenen havuzu seçin.

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

Yetenekler sekmesini seçin.

Aracı havuzları sekmesinden istenen havuzu seçin.

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

Yetenekler sekmesini seçin.

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

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

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

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.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.
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.
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.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/2413.107.9.0/2413.107.42.0/2413.107.43.0/24
IPv6 aralıkları
2620:1ec:4::/482620:1ec:a92::/482620:1ec:21::/482620: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?
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/2413.107.9.0/2413.107.42.0/2413.107.43.0/24
IPv6 aralıkları
2620:1ec:4::/482620:1ec:a92::/482620:1ec:21::/482620: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?
Ş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.