Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure DevOps Services
Windows, Azure ve diğer Visual Studio çözümlerini derlemek ve dağıtmak için en az bir Windows aracısı gerekir. Windows aracıları Java ve Android uygulamaları da oluşturabilir.
Bu makalede, Azure DevOps Services ve Azure DevOps Server'ın geçerli sürümleriyle
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 Windows aracısı ayarlamayı atlayabilirsiniz.
Aracılar hakkında bilgi edinin
Bir aracın ne olduğunu ve nasıl çalıştığını zaten biliyorsanız, aşağıdaki bölümlere doğrudan geçiş yapabilirsiniz. Ancak ne yaptıkları ve nasıl çalıştıkları hakkında daha fazla bilgi edinmek isterseniz bkz. Azure Pipelines aracılarını.
Önkoşulları denetleme
Makinenizin şu önkoşullara sahip olduğundan emin olun:
- İşletim sistemi sürümü
- İstemci işletim sistemi
- Windows 7 SP1 ESU
- Windows 8.1
- Windows 10
- Windows 11
- Sunucu işletim sistemi
- Windows Server 2012 veya üzeri
- İstemci işletim sistemi
- Aracı yazılımı kendi .NET sürümünü yükler, bu nedenle .NET önkoşulu yoktur.
- PowerShell 3.0 veya üzeri
- Subversion - Subversion deposundan oluşturuyorsanız makineye Subversion istemcisini yüklemeniz gerekir.
- Önerilen - Visual Studio derleme araçları (2015 veya üzeri)
İ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.
Donanım özellikleri
Temsilcilerinizin donanım özellikleri ihtiyaçlarınıza, ekip boyutuna vb. göre farklılık gösterir. Herkese uygulanacak genel bir öneride bulunmak mümkün değildir. Başvuru noktası olarak, Azure DevOps ekibi barındırılan aracıları kullanan işlem hatlarını kullanarak barındırılan aracılar kodunu oluşturur. Öte yandan, Azure DevOps kodunun büyük kısmı, her biri yerel barındırılan dört aracı çalıştıran 24 çekirdekli sunucu düzeyinde makineler tarafından oluşturulmaktadır.
İzinleri hazırlama
Kendi 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 veya Azure DevOps hatalarını bildirebilmek amacıyla günlük dosyalarını almak ya da dosya sistemini incelemek zorunda kalması 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 bir kişi, bu adımları tamamlamalıdır. Temsilci, günlük işlemlerde bu kişinin kimlik bilgilerini kullanmayacak, ancak kayıt işleminde bu bilgilere ihtiyaç duyulmaktadır. Ajanların nasıl iletişim kurduğu 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 durdurizniniz var.
Yoksa:
Bir tarayıcı açın ve Azure Pipelines kuruluşunuz veya Azure DevOps Server veya TFS sunucusu için Aracısı havuzları sekmesine gidin:
Kuruluşunuzda oturum açın (
https://dev.azure.com/{yourorganization}
).Azure DevOps'u seçin, Kuruluş ayarları.
Aracı havuzlarını seçin.
Proje koleksiyonunuzda (
http://your-server/DefaultCollection
) oturum açın.Azure DevOps, Koleksiyon ayarları'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, 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'daki Dağıtım Grupları sayfasındaki Güvenlik sekmesinde dağıtım grubu yöneticisi rolüne kullanıcı 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 İş Akışları
Yukarıda açıklandığı gibi izinleri hazırladığınız hesabı kullanarak makinede oturum açın.
Web tarayıcınızda Azure Pipelines'da oturum açın ve Aracısı havuzları sekmesine gidin:
Kuruluşunuzda oturum açın (
https://dev.azure.com/{yourorganization}
).Azure DevOps'u seçin, Kuruluş ayarları.
Aracı havuzlarını seçin.
Proje koleksiyonunuzda (
http://your-server/DefaultCollection
) oturum açın.Azure DevOps, Koleksiyon ayarları'nı seçin.
Aracı havuzlarını seçin.
Varsayılan havuzunu seçin, Aracılar sekmesini seçin ve Yeni aracıseçin.
Aracıyı al iletişim kutusunda Windows'u seçin.
Sol bölmede, makinenizde yüklü Windows işletim sistemi sürümünün işlemci mimarisini seçin. x64 aracı sürümü 64 bit Windows için, x86 sürümü ise 32 bit Windows için tasarlanmıştır. Hangi Windows sürümünün yüklü olduğundan emin değilseniz, öğrenmek için bu yönergeleri izleyin.
Sağ bölmede İndir düğmesine tıklayın.
Ajanı indirmek için sayfadaki yönergeleri izleyin.
Ajanı seçtiğiniz dizine çıkartın. Araçlar ve betikler her zaman boşlukları doğru şekilde kaçamayabileceğinden, dizin yolunun boşluk içermemesine dikkat edin. Önerilen klasör:
C:\agents
. İndirme klasöründe veya diğer kullanıcı klasörlerinde ayıklamak izin sorunlarına neden olabilir.
Önemli
Aracıyı yükseltilmiş bir PowerShell penceresinden yapılandırmanızı kesinlikle öneririz. Hizmet olarak yapılandırmak istiyorsanız, bu gereklidir.
Aracıyı yapılandırmak için Windows PowerShell ISE kullanmamalısınız.
Önemli
Güvenlik nedeniyle aracılar klasörünün (C:\agents
) yalnızca yöneticiler tarafından düzenlenebilir olduğundan emin olmanız önemle önerilir.
Uyarı
Aracı yapılandırması için git-bash gibi mintty tabanlı kabuklar kullanmaktan kaçının. Mintty, yerel Giriş/Çıkış Windows API'siyle tam olarak uyumlu değildir (bu konuda bazı bilgiler verilmiştir ) ve bu durumda kurulum betiğinin doğru şekilde çalışacağını garanti edemeyiz.
Ajanı yükle
Yükseltilmiş (PowerShell) bir pencere başlatın ve aracıyı paketten çıkardığınız konumu ayarlayın.
cd C:\agents
config.cmd
'i çalıştırın. Bu size aracıyı yapılandırmak için bir dizi soru sorar..\config.cmd
Sunucu URL'si
Kurulum sunucu URL'nizi istediğinde Azure DevOps Services için yanıtlayın https://dev.azure.com/{your-organization}
.
Kurulum sunucu URL'nizi istediğinde, Azure DevOps Server için yanıtlayın https://{my-server}/{my-collection}
.
Aracı kurulumu kimlik doğrulama türü
Bir aracıyı kaydettiğinizde, aşağıdaki kimlik doğrulama türlerinden birini seçin; kurulum 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.
- Kişisel erişim belirteci
- Temel kimlik doğrulamasını kullanarak Azure DevOps Server'a veya TFS'ye alternatif olarak bağlanın. Alternatif'i seçtiğinizde kimlik bilgileriniz istenir.
Windows aracıları, Azure DevOps Server ve TFS'de aşağıdaki iki ek kimlik doğrulama seçeneğine sahiptir.
- Anlaşma NTLM veya Kerberos gibi bir Windows kimlik doğrulama düzeni aracılığıyla TFS'ye oturum açmış kullanıcı dışında bir kullanıcı olarak bağlanın. Anlaş'ı seçtikten sonra kimlik bilgileriniz istenir.
- Tümleşik (Varsayılan) NTLM veya Kerberos gibi bir Windows kimlik doğrulama şeması aracılığıyla oturum açmış kullanıcının kimlik bilgilerini kullanarak bir Windows aracısını TFS'ye bağlayın. Bu yöntemi seçtikten sonra sizden kimlik bilgileri istenmez.
Önemli
Sunucunuz Alternatif, Anlaşma veya Tümleşik kimlik doğrulaması kullanmak için kimlik doğrulama yöntemini destekleyecek şekilde yapılandırılmalıdır.
Aracıyı kaydetmek için kullanılan kimlik doğrulama yöntemi yalnızca aracı kaydı sırasında kullanılır. Aracıların kayıt sonrasında Azure Pipelines ile nasıl iletişim kuracakları hakkında daha fazla bilgi edinmek için bkz. Azure Pipelines veya TFS ile iletişim.
Etkileşimli veya hizmet modunu seçme
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.
Hizmet olarak çalıştırmayı seçerseniz (ki bunu öneririz), olarak çalıştırdığınız kullanıcı adı 20 karakter veya daha az olmalıdır.
Aracıyı çalıştır
Etkileşimli olarak çalıştırma
Aracıyı etkileşimli çalışacak şekilde yapılandırdıysanız, aracıyı başlatmak için aşağıdaki komutu çalıştırın.
.\run.cmd
Aracıyı yeniden başlatmak için, aracıyı durdurmak için Ctrl+C tuşlarına basın ve ardından aracıyı yeniden başlatmak için komutunu çalıştırın run.cmd
.
Uyarı
Eğer PowerShell Core'dan Windows PowerShell görevlerini yürütüyorsanız, iş akışınız Error in TypeData "System.Security.AccessControl.ObjectSecurity": The member is already present
gibi bir hatayla başarısız olabilir. Bunun nedeni, Windows PowerShell'in PowerShell Core modül konumlarını PSModulePath
içeren ortam değişkenini üst işleminden devralıyor olmasıdır.
Geçici bir çözüm olarak, işlem hattında aracının düğmesini AZP_AGENT_CLEANUP_PSMODULES_IN_POWERSHELL
olarak true
ayarlayabilirsiniz. Bu, aracının PSModulePath
görevleri yürütmeden önce sıfırlanmasına olanak sağlar.
variables:
AZP_AGENT_CLEANUP_PSMODULES_IN_POWERSHELL: "true"
Bu geçici çözüm sorununuzu çözmezse veya özel modül konumlarını kullanmanız gerekiyorsa, aracıyı $Env:PSModulePath
çalıştırmadan önce değişkeni PowerShell Core pencerenizde gerektiği gibi ayarlayabilirsiniz.
Bir defa çalıştır
Ayrıca aracının yalnızca bir işi kabul edip çıkış yapmalarını da seçebilirsiniz. Bu yapılandırmada çalıştırmak için aşağıdaki komutu kullanın.
.\run.cmd --once
Bu modda aracılar yalnızca bir işi kabul eder ve ardından nazikçe kapanır (Azure Container Instances gibi bir hizmette Docker'da çalıştırmak için bu mod kullanışlıdır).
Hizmet olarak çalıştır
Aracıyı hizmet olarak çalışacak şekilde yapılandırdıysanız otomatik olarak başlatılır. Hizmetler eklentisinden aracının çalışma durumunu görüntüleyebilir ve denetleyebilirsiniz. Komutunu çalıştırın services.msc
ve aşağıdakilerden birini arayın:
- "Azure Pipelines Aracısı (aracınızın adı)"
- "VSTS Aracısı (aracınızın adı)"
- "vstsagent. (kuruluş adı). (temsilcinizin adı)"
Uyarı
Hizmet olarak çalışan bir aracıya erişim denetiminde daha fazla esneklik sağlamak için, etkileşimli yapılandırma akışı sırasında bayrak veya istem yoluyla aracı hizmeti SID türünü [SERVICE_SID_TYPE_UNRESTRICTED
] olarak ayarlamak mümkündür.
Varsayılan olarak, aracı hizmeti SERVICE_SID_TYPE_NONE
ile yapılandırılır.
SID türleri hakkında daha fazla bilgi için lütfen bu belgelere bakın.
Aracıyı yeniden başlatmak için girdiye sağ tıklayın ve Yeniden Başlat'ı seçin.
Uyarı
Aracının oturum açma hesabını değiştirmeniz gerekiyorsa, bunu Hizmetler yönetim konsolundan yapmayın. Bunun yerine, ajantı yeniden yapılandırmak için aşağıdaki bilgilere bakın.
Ajanınızı kullanmak için ajan havuzunu kullanarak bir işi çalıştırın. Farklı bir havuz seçmediyseniz, aracınız Varsayılan havuzda olur.
Temsilciyi değiştir
tr-TR: Aracıyı değiştirmek için Aracıyı indirme ve yapılandırma adımlarını tekrar 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.
Y
yanıtını verirseniz, yerine geçirdiğiniz etkeni (aşağıya bakın) kaldırdığınızdan emin olun. 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:
.\config remove
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 VSTS_AGENT_INPUT_
ekleyin.
Örneğin, VSTS_AGENT_INPUT_PASSWORD
belirtmek 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) -
SP
(Hizmet Sorumlusu) ( Aracı sürüm 3.227.1 veya üzeri gerektirir) -
negotiate
(Kerberos veya NTLM) -
alt
(Temel kimlik doğrulaması) -
integrated
(Windows varsayılan kimlik bilgileri)
-
Kimlik doğrulama seçenekleri
-
--auth pat
seçtiyseniz:-
--token <token>
- Kişisel erişim belirtecinizi belirtir - OAuth 2.0 belirtecini parametre olarak
--token
de geçirebilirsiniz.
-
-
--auth negotiate
veya--auth alt
seçtiyseniz:-
--userName <userName>
-domain\userName
veyauserName@domain.com
biçiminde bir Windows kullanıcı adını belirtir -
--password <password>
- bir parola belirtir
-
-
--auth SP
seçtiyseniz:-
--clientID <clientID>
- aracıları kaydetme yetkisi olan Hizmet Sorumlusunun İstemci Kimliğini belirtir -
--tenantId <tenantID>
- Hizmet Sorumlusunun kayıtlı olduğu Kiracı Kimliğini belirtir -
--clientSecret <clientSecret>
- Hizmet İlkesinin İstemci Gizli Anahtarını belirtir - Daha fazla bilgi için Hizmet sorumlusu kullanarak aracı kaydetme konusuna bakın.
-
Havuz ve ajan adları
-
--pool <pool>
- Aracının katılacağı havuz adı -
--agent <agent>
- temsilci adı -
--replace
- havuzdaki temsilciyi değiştirin. Dinleyen başka bir aracı varsa ve aynı adla çalışıyorsa, çakışma nedeniyle başarısızlığa neden olur.
Aracı kurulumu
-
--work <workDirectory>
- iş verilerinin depolandığı iş dizini. Varsayılan olarak_work
aracı dizininin kökü altındadır. İş 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ı konağın dosya sisteminden alabilirsiniz.
Yalnızca Windows başlatma
-
--runAsService
- aracıyı Bir Windows hizmeti olarak çalışacak şekilde yapılandırın (yönetici izni gerektirir) -
--runAsAutoLogon
- otomatik oturum açmayı yapılandırma ve başlangıçta aracıyı çalıştırma (yönetici izni gerektirir) -
--windowsLogonAccount <account>
, Windows kullanıcı adını--runAsService
veya--runAsAutoLogon
biçiminde belirtmek içindomain\userName
veyauserName@domain.com
ile kullanılır. -
--windowsLogonPassword <password>
---runAsService
veya--runAsAutoLogon
ile Windows oturum açma parolasını belirtmek için kullanılır (Grup Yönetilen Hizmet Hesapları ve 'NT AUTHORITY\NETWORK SERVICE' gibi Yerleşik Windows hesapları için gerekli değildir) -
--enableservicesidtypeunrestricted
, hizmet SID türü olarak--runAsService
ile aracıyı yapılandırmak içinSERVICE_SID_TYPE_UNRESTRICTED
kullanılır (yönetici izni gerektirir) -
--overwriteAutoLogon
- makinede var olan otomatik oturum açma işleminin üzerine yazmak için ile--runAsAutoLogon
kullanılır -
--noRestart
, aracı yapılandırması tamamlandıktan sonra konağın yeniden başlatılmasını durdurmak için--runAsAutoLogon
ile kullanılır.
runAsAutoLogon
seçeneğini kullanarak aracı yapılandırma sorunlarını giderme
Makinenin yeniden başlatılmasından sonra, aracı runAsAutoLogon
seçeneği ile yapılandırmak, her seferinde aracı çalıştırır.
Makineyi yeniden başlattıktan sonra ajan çalıştırılmıyorsa, sonraki adımları gerçekleştirin.
Aracı makinede önceden yapılandırılmışsa
Aracıyı yeniden yapılandırmadan önce eski aracı yapılandırmasını kaldırmak gerekir, bu nedenle aracı klasöründen şu komutu çalıştırmayı deneyin:
.\config.cmd remove --auth 'PAT' --token '<token>'
Komutunu yürüttkten sonra aracının aracı havuzunuzdan kaldırılıp kaldırılmadığını denetleyin:
<Azure DevOps organization> / <Project> / Settings / Agent pools / <Agent Pool> / Agents
Eğer aracı komutla kaldırmadıysanız, aracı aracı havuzunuzdan el ile kaldırın.
Ardından aracı klasöründen şu komutu çalıştırarak aracıyı yeniden yapılandırmayı deneyin:
.\config.cmd --unattended --agent '<agent-name>' --pool '<agent-pool-name>' --url '<azure-dev-ops-organization-url>' --auth 'PAT' --token '<token>' --runAsAutoLogon --windowsLogonAccount '<domain\user-name>' --windowsLogonPassword '<windows-password>'
Ajan adını (belirli bir benzersiz ad) belirtin ve bu ajanın yeniden yapılandırdıktan sonra ajan havuzunuzda görünüp görünmediğini kontrol edin.
Bir aracı arşivini açmak (buradan indirilebilir) ve bu komutu yeni paketlenmemiş aracı klasöründen çalıştırmak çok daha iyi olacaktır.
Windows kayıt defteri anahtarının doğru kaydedilip kaydedilmediğini denetleyin
whoami /user
elde etmek için <sid>
komutunu çalıştırın. Açın Registry Editor
ve yolu takip edin.
Computer\HKEY_USERS\<sid>\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Anahtarın VSTSAgent
olup olmadığını denetleyin. Varsa bu anahtarı silin, ardından aracı klasöründen Registry Editor
komutunu (args olmadan) çalıştırarak aracıyı kapatın .\config.cmd
ve yapılandırın. Soruyu Enter Restart the machine at a later time?
yanıtlamadan önce yeniden açın Registry Editor
ve anahtarın VSTSAgent
görünup görünmediğini denetleyin. Soruyu yanıtlamak için basın Enter
ve makineyi yeniden başlattıktan sonra anahtarın VSTSAgent
yerinde kalıp kalmadiğini denetleyin.
Windows kayıt defteri anahtarlarının makinenizde sorunsuz çalışıp çalışmadiğini denetleyin
Aşağıdaki satırı içeren bir autorun.cmd
dosya oluşturun: echo "Hello from AutoRun!"
.
Yukarıdaki yolda, Registry Editor
açın ve anahtar AutoRun
ve değer ile yeni bir anahtar-değer çifti oluşturun.
C:\windows\system32\cmd.exe /D /S /C start "AutoRun" "D:\path\to\autorun.cmd"
Makinenizi yeniden başlatın.
Hello from AutoRun!
mesajını içeren bir konsol penceresi görmüyorsanız, Windows kayıt defteri anahtarlarıyla ilgili bir sorun var.
Yalnızca dağıtım grubu
-
--deploymentGroup
- aracıyı dağıtım grubu aracısı olarak yapılandırma -
--deploymentGroupName <name>
, aracının katılacağı dağıtım grubunu belirtmek için--deploymentGroup
ile birlikte 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"
Sadece 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 --help
her zaman en son gerekli ve isteğe bağlı yanıtları listeler.
Tanılama
Kendi barındırdığınız ajanla ilgili sorunlar yaşıyorsanız, tanılama çalıştırmayı deneyebilirsiniz. Aracı yapılandırıldıktan sonra:
.\run --diagnostics
Bu, sorunu çözmenize yardımcı olabilecek bir tanılama süitinde çalıştırılacaktı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. Kendi barındırmalı aracılar için ağ tanılama
Diğer seçeneklerle ilgili yardım
Diğer seçenekler hakkında bilgi edinmek için:
.\config --help
Yardım, kimlik doğrulama alternatifleri ve katılımsız yapılandırma hakkında bilgi sağlar.
Yetenekler
Temsilcinizin yetenekleri kataloglanır ve havuzda tanıtılır, böylece sadece işleyebileceği derleme ve yayınlar ona atanır. Bkz. Derleme ve Yayınlama 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
Ö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.
Çevre değişkenlerini bir özellik olarak hariç tutmak istiyorsanız, göz ardı edilecek değişkenleri virgülle ayrılmış bir listede belirterek bir VSO_AGENT_IGNORE
ortam değişkeni ayarlayabilirsiniz.
Sıkça Sorulan Sorular
Aracım hangi Git sürümünü çalıştırıyor?
Varsayılan olarak, Windows aracısı aracı yazılımıyla birlikte gelen Git sürümünü kullanır. Microsoft, Aracı ile birlikte gelen Git sürümünü kullanmanızı önerir, ancak bu varsayılan davranışı geçersiz kılmak ve aracı makinenin yolda yüklü olduğu Git sürümünü kullanmak için çeşitli seçenekleriniz vardır.
- İşlem hatlarınızda
System.PreferGitFromPath
adlı bir işlem hattı değişkeninitrue
olarak ayarlayın. - Şirket içinde barındırılan aracılarda, aracı kök dizininde .env adlı bir dosya oluşturabilir ve dosyaya bir
System.PreferGitFromPath=true
satır ekleyebilirsiniz. Daha fazla bilgi için bkz. Her bir acente için farklı ortam değişkenlerini nasıl ayarlayabilirim?
İşlem hattı tarafından kullanılan Git sürümünü görmek için, aşağıdaki örnekte gösterildiği gibi işlem hattınızdaki bir checkout
adımın günlüklerine bakabilirsiniz.
Syncing repository: PathFilter (Git)
Prepending Path environment variable with directory containing 'git.exe'.
git version
git version 2.26.2.windows.1
En son ajan sürümüne sahip olduğumdan nasıl emin olurum?
Aracı havuzları sekmesine gidin.
Kuruluşunuzda oturum açın (
https://dev.azure.com/{yourorganization}
).Azure DevOps'u seçin, Kuruluş ayarları.
Aracı havuzlarını seçin.
Proje koleksiyonunuzda (
http://your-server/DefaultCollection
) oturum açın.Azure DevOps, Koleksiyon ayarları'nı seçin.
Aracı havuzlarını seçin.
Ajanı içeren havuza tıklayın.
Ajanın etkinleştirildiğinden emin olun.
Yetenekler sekmesine gidin:
Aracı havuzları sekmesinden istediğiniz aracı havuzunu seçin.
Aracılar'ı seçin ve istediğiniz aracıyı 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.
Aracı havuzları sekmesinden istediğiniz havuzu seçin.
Aracılar'ı seçin ve istediğiniz aracıyı seçin.
Ajanları seçin ve istediğiniz ajanı seçin.
Özellikler sekmesini seçin.
Agent.Version
özelliğini arayın. Bu değeri en son yayımlanan aracı sürümüyle karşılaştırabilirsiniz. Azure Pipelines Agent bölümüne bakın ve listelenen en yüksek sürüm numarasını kontrol etmek için sayfayı inceleyin.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.
İ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.
İndirilen paket dosyalarını istediğiniz bir yöntemi (USB sürücüsü, Ağ aktarımı vb.) kullanarak her Azure DevOps Server Uygulama Katmanına aktarın. Aracı dosyalarını aşağıdaki klasör içine 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.
- 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.
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 etki alanı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 etki alanını kullanan kuruluşlar için Sürüm Yönetim 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 etki alanı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 etki alanını kullanan kuruluşlar için |
https://dev.azure.com |
dev.azure.com etki alanı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://vstsagentpackage.azureedge.net https://download.agent.dev.azure.com |
Ajan paketi |
Önemli
Azure DevOps için Edgio CDN kullanımdan kaldırılıyor ve bu, aracı yazılımı indirme için güvenlik duvarı kurallarında izin verilen yeni bir etki alanı URL'sini gerektiriyor.
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 çalıştığından emin olmak için, dev.azure.com
ve *dev.azure.com
açık olduğundan emin olun ve izinle listelenen IP'lerinizi IP sürümünüz temelinde aşağıdaki IP adreslerini içerecek şekilde güncelleştirin. şu anda 13.107.6.183
ve 13.107.9.183
IP adreslerini beyaz listeye alıyorsanız, olduğu gibi bırakın, çünkü onları kaldırmanız gerekmez.
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ı.
Aracıyı kendi kendine imzalanmış sertifikayla nasıl çalıştırırım?
Uyarı
Aracıyı otomatik olarak imzalanan bir sertifikayla çalıştırmak yalnızca Azure DevOps Server için geçerlidir.
Aracıyı kendi imzaladığı sertifika ile çalıştırma
Aracıyı bir web ara sunucusunun arkasında nasıl çalıştırabilirim?
Aracıyı bir web ara sunucusu arkasında çalıştırma
Aracıyı nasıl yeniden başlatabilirim?
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ı hizmet olarak çalıştırıyorsanız Hizmet olarak çalıştır'daki adımları izleyerek aracıyı yeniden başlatın.
Her bir aracı için farklı ortam değişkenlerini nasıl ayarlayabilirim?
Aracının kök dizini altında bir .env
dosya oluşturun ve ayarlamak istediğiniz ortam değişkenlerini aşağıdaki biçimde dosyaya yerleştirin ve aracıyı yeniden başlatın.
MyEnv0=MyEnvValue0
MyEnv1=MyEnvValue1
MyEnv2=MyEnvValue2
MyEnv3=MyEnvValue3
MyEnv4=MyEnvValue4
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
etki alanı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
etki alanını kullanan kuruluşlar için:
https://dev.azure.com
https://*.dev.azure.com
https://login.microsoftonline.com
https://management.core.windows.net
https://vstsagentpackage.azureedge.net
https://download.agent.dev.azure.com
https://vssps.dev.azure.com
Kuruluşunuzun mevcut güvenlik duvarı veya IP kısıtlamalarıyla çalıştığından emin olmak için, dev.azure.com
ve *dev.azure.com
açık olduğundan emin olun ve izinle listelenen IP'lerinizi IP sürümünüz temelinde aşağıdaki IP adreslerini içerecek şekilde güncelleştirin. şu anda 13.107.6.183
ve 13.107.9.183
IP adreslerini beyaz listeye alıyorsanız, olduğu gibi bırakın, çünkü onları kaldırmanız gerekmez.
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?
Şirket içinde TFS kullanıyorum ve bu özelliklerden bazılarını görmüyorum. Neden olmasın?
Bu özelliklerden bazıları yalnızca Azure Pipelines kullanılabilir ve henüz şirket içinde kullanılamaz. TFS'in en son sürümüne
Aracı hizmeti için SERVICE_SID_TYPE_UNRESTRICTED etkinleştirmenin anlamı nedir?
Windows Server'da aracı yazılımını yapılandırırken, aşağıdaki komut isteminden hizmet güvenlik tanımlayıcısını belirtebilirsiniz.
Enter enable SERVICE_SID_TYPE_UNRESTRICTED for agent service (Y/N) (press enter for N)
Aracı yazılımının önceki sürümleri, geçerli aracı sürümleri için varsayılan değer olan hizmet güvenlik tanımlayıcısı türünü SERVICE_SID_TYPE_NONE
olarak ayarlar. Güvenlik hizmeti tanımlayıcı türünü SERVICE_SID_TYPE_UNRESTRICTED
olarak yapılandırmak için Y
tuşuna basın.
Daha fazla bilgi için bkz. SERVICE_SID_INFO yapısı ve Güvenlik tanımlayıcıları.