Şirket içinde barındırılan macOS aracıları
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018
Not
İşlem hatları ekibi, şu anda önizleme aşamasında olan sürüm 3.x aracı yazılımını yayınlıyor. Daha fazla bilgi için bkz . Aracı yazılımı sürüm 3 önizlemesi.
Not
Microsoft Team Foundation Server (TFS) 2018 ve önceki sürümlerde derleme ve yayın işlem hatlarıtanım, çalıştırmalar derleme, hizmet bağlantılarıhizmet uç noktası, aşamalarortam ve işleraşama olarak adlandırılır.
Xcode uygulamaları veya Xamarin.iOS projeleri oluşturmak ve dağıtmak için en az bir macOS aracısı gerekir. Bu aracı, Java ve Android uygulamaları da derleyebilir ve dağıtabilir.
Başlamadan önce:
- İşlem hatlarınız Azure Pipelines'daysa ve Microsoft tarafından barındırılan bir aracı gereksinimlerinizi karşılıyorsa, şirket içinde barındırılan bir macOS aracısı ayarlamayı atlayabilirsiniz.
- Aksi takdirde, macOS'ta aracı ayarlamak için doğru yere geldiniz. Sonraki bölüme geçin.
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
Makinenizin şu önkoşullara sahip olduğundan emin olun:
- macOS 10.15 "Catalina", macOS 11.0 "Big Sur" veya macOS 12.0 "Monterey"
- Git 2.9.0 veya üzeri (en son sürüm kesinlikle önerilir- Homebrew ile kolayca yükleyebilirsiniz)
Bu önkoşullar aracı sürüm 2.125.0 ve üzeri için gereklidir.
TFVC
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'ya sahiptir.
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 artık aracı dağıtımına dahil değildir. Ancak, bir TFVC depoyu kullanıma alırsanız, tee eklentisi kullanıma alma görevi yürütme sırasında indirilir. TEE eklentisi, iş yürütüldikten sonra kaldırılır.
Not
Not: Bu indirme mekanizması nedeniyle kullanıma alma görevinizin çalışmaya 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şim sağlamanı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:
- Ortam veya işlem hattı değişkenini olarak
true
ayarlayınDISABLE_TEE_PLUGIN_REMOVAL
. Bu değişken, TFVC deposu kullanıma aldıktan sonra aracının TEE eklentisini kaldırmasını engeller. - TEAM EXPLORER EVERYWHERE GitHub sürümlerinden TEE-CLC sürüm 14.135.0'ı el ile indirin.
- klasörünün
TEE-CLC-14.135.0
içeriğini öğesine<agent_directory>/externals/tee
ayıklayın.
İzinleri hazırlama
Subversion deposundan oluşturuyorsanız makineye Subversion istemcisini yüklemeniz gerekir.
Aracı kurulumunu ilk kez el ile çalıştırmanız gerekir. Aracıların nasıl çalıştığı hakkında bilgi 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.
Şirket içinde 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 sahip olması gerekir, ancak aracıyı çalıştıran kullanıcı bunu yapmaz.
Aracı tarafından denetlenen klasörler mümkün olduğunca az kullanıcıyla sınırlandırılmalıdır ve şifresi çözülebilen veya boşaltılabilir gizli diziler içerir.
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ı için 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 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, 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 bulundurmak 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 için günlük dosyalarını almak için dosya sistemini incelemesi gerekebilir.
Hangi kullanıcıyı kullanacağınıza karar verme
Tek seferlik bir adım olarak aracıyı kaydetmeniz gerekir. Aracı kuyruğu yönetme iznine sahip birinin bu adımları tamamlaması gerekir. Aracı günlük işlemlerde bu kişinin kimlik bilgilerini kullanmaz, ancak kaydı tamamlaması gerekir. Aracıların iletişim kurma şekli hakkında daha fazla bilgi edinin.
Kişisel erişim belirteci (PAT) ile kimlik doğrulaması
- Team Foundation Server web portalınızda (
https://{your-server}:8080/tfs/
) kullanmayı planladığınız kullanıcı hesabıyla oturum açın.
- Azure DevOps Server web portalınızda (
https://{your-server}/DefaultCollection/
) kullanmayı planladığınız kullanıcı hesabıyla oturum açın.
- Azure DevOps kuruluşunuzda ( kullanmayı planladığınız kullanıcı hesabıyla oturum
https://dev.azure.com/{your_organization}
açın.
Giriş sayfanızdan profilinizi açın. Güvenlik ayrıntılarınıza gidin.
Kişisel erişim belirteci oluşturun.
Not
Dağıtım grubu aracısını yapılandırıyorsanız veya bir VM ortam kaynağını kaydederken bir hata görüyorsanız PAT kapsamını Tüm erişilebilir kuruluşlar olarak ayarlamanız gerekir.
Giriş sayfanızdan kullanıcı ayarlarınızı açın ve kişisel erişim belirteçleri'ni seçin.
Kişisel erişim belirteci oluşturun.
Kapsam için Aracı Havuzları'nı seçin (okuma, yönetme) ve diğer tüm kutuların temizlendiğinden emin olun. Bu bir dağıtım grubu aracısıysa kapsam için Dağıtım grubu (okuma, yönetme) öğesini seçin ve diğer tüm kutuların temizlendiğinden 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ırken bu belirteci kullanacaksınız.
Kullanıcının izni olduğunu onaylayın
Kullanacağınız kullanıcı hesabının aracıyı kaydetme iznine sahip olduğundan emin olun.
Kullanıcı bir Azure DevOps kuruluş sahibi mi, TFS veya Azure DevOps Server yöneticisi mi? Burada durun, izniniz var.
Aksi durumda:.
Bir tarayıcı açın ve Azure Pipelines kuruluşunuzun aracı havuzları sekmesine veya Azure DevOps Server ya da TFS sunucusuna 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ı'nı> seçin.
Havuzları yönet'i seçin.
Sayfanın sağ tarafındaki havuzu seçin ve güvenlik'e tıklayın.
Kullanacağınız kullanıcı hesabı gösterilmiyorsa, yöneticinin hesabı eklemesini sağlayın. Yönetici bir 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'ınDağıtım Grupları sayfasındaki Güvenlik sekmesinde dağıtım grubu yöneticisi rolüne bir kullanıcı ekleyebilirsiniz.
Not
Şöyle 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ı kuyruğu 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'da 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ı'nı> seçin.
Havuzları yönet'i seçin.
Varsayılan havuzu seçin, Aracılar sekmesini seçin ve Yeni aracı'yı seçin.
Aracıyı edinin iletişim kutusunda macOS'a tıklayın.
İndir düğmesine tıklayın.
Sayfadaki yönergeleri izleyin.
Tar dosyasındaki genişletilmiş özniteliği temizleyin:
xattr -c vsts-agent-osx-x64-V.v.v.tar.gz
.Aracıyı seçtiğiniz dizine açın.
cd
dizinine gidin ve komutunu çalıştırın./config.sh
. Araçlar ve betikler her zaman doğru kaçış alanları olmadığından dizin yolunun boşluk içermediğinden emin olun.
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 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ı'nı> seçin.
Havuzları yönet'i seçin.
Aracıyı indir'e tıklayın.
Aracıyı al iletişim kutusunda macOS'a tıklayın.
İndir düğmesine tıklayın.
Sayfadaki yönergeleri izleyin.
Tar dosyasındaki genişletilmiş özniteliği temizleyin:
xattr -c vsts-agent-osx-x64-V.v.v.tar.gz
.Aracıyı seçtiğiniz dizine açın.
cd
dizinine gidin ve komutunu çalıştırın./config.sh
. Araçlar ve betikler her zaman doğru kaçış alanları olmadığından dizin yolunun boşluk içermediğinden emin olun.
TFS 2018
Yukarıda açıklandığı gibi izinleri hazırladığınız hesabı kullanarak makinede oturum açın.
Web tarayıcınızda Azure Pipelines veya TFS'de oturum açın ve Aracı havuzları sekmesine gidin:
Projenize gidin ve Ayarlar (dişli simgesi) Aracı Kuyrukları'nı> seçin.
Havuzları yönet'i seçin.
Aracıyı indir'e tıklayın.
Aracıyı al iletişim kutusunda macOS'a tıklayın.
İndir düğmesine tıklayın.
Sayfadaki yönergeleri izleyin.
Tar dosyasındaki genişletilmiş özniteliği temizleyin:
xattr -c vsts-agent-osx-x64-V.v.v.tar.gz
.Aracıyı seçtiğiniz dizine açın.
cd
dizinine gidin ve komutunu çalıştırın./config.sh
. Araçlar ve betikler her zaman doğru kaçış alanları olmadığından dizin yolunun boşluk içermediğinden emin olun.
Sunucu URL'si
Azure Pipelines: https://dev.azure.com/{your-organization}
TFS 2018 ve daha yeni sürümler: https://{your_server}/tfs
Kimlik doğrulaması türü
Azure Pipelines
PAT'yi seçin ve oluşturduğunuz PAT belirtecini komut istemi penceresine yapıştırın.
Not
Kimlik doğrulama yöntemi olarak PAT kullanıldığında PAT belirteci yalnızca aracının ilk yapılandırması için kullanılır. Daha fazla bilgi için bkz. Azure Pipelines veya TFS ile İletişim.
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 sahipsiniz:
Alternatif Temel kimlik doğrulamasını kullanarak TFS'ye veya Azure DevOps Server bağlanın. Alternatif'i seçtikten sonra kimlik bilgileriniz istenir.
Entegre macOS veya Linux'ta desteklenmez.
Anlaşma (Varsayılan) NTLM veya Kerberos gibi bir Windows kimlik doğrulama şeması aracılığıyla oturum açmış kullanıcı dışında bir kullanıcı olarak TFS'ye veya Azure DevOps Server bağlanın. Anlaş'ı seçtikten sonra sizden kimlik bilgileri istenir.
PAT Yalnızca Azure Pipelines ve TFS 2017 ve daha yeni sürümlerde desteklenir. PAT'yi 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
Kimlik doğrulama yöntemi olarak PAT kullanıldığında PAT belirteci yalnızca Azure DevOps Server'da aracının ilk yapılandırması ve TFS'nin daha yeni sürümleri için kullanılır. Daha fazla bilgi için bkz. Azure Pipelines veya TFS ile İletişim.
Etkileşimli olarak çalıştır
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 karşılaştırması.
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 ardından çalıştırarak run.sh
yeniden başlatı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 etmelerini 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 sonra düzgün bir şekilde aşağı döner (Azure Container Instances gibi bir hizmette çalıştırmak için kullanışlıdır).
Başlatılan hizmet olarak çalıştırma
Aracınızı başlatılmış bir LaunchAgent hizmeti olarak çalıştırmanız ve yönetmeniz için betiği sağlarız ./svc.sh
. Bu betik, aracıyı yapılandırdıktan sonra oluşturulur. Hizmetin kullanıcı arabirimi testlerinizi çalıştırmak için kullanıcı arabirimine erişimi vardır.
Not
Diğer yaklaşımları tercih ediyorsanız, tercih ettiğiniz hizmet mekanizması türünü kullanabilirsiniz. Bkz . Hizmet dosyaları.
Belirteçler
Aşağıdaki bölümde, bu belirteçler değiştirilir:
{agent-name}
{tfs-name}
Örneğin, adlı our-osx-agent
bir aracı yapılandırdınız (yukarıya bakın). Aşağıdaki örneklerde şunlardan {tfs-name}
biri olacaktır:
Azure Pipelines: Kuruluşunuzun adı. Örneğin, öğesine
https://dev.azure.com/fabrikam
bağlanırsanız hizmet adı şu şekilde olur:vsts.agent.fabrikam.our-osx-agent
TFS: Şirket içi TFS AT sunucunuzun adı. Örneğin, öğesine
http://our-server:8080/tfs
bağlanırsanız hizmet adı şu şekilde olur:vsts.agent.our-server.our-osx-agent
Komutlar
Aracı dizinine geçin
Örneğin, giriş dizininizin alt klasörüne yüklediyseniz myagent
:
cd ~/myagent$
Yükleme
Komut:
./svc.sh install
Bu komut, öğesine işaret ./runsvc.sh
eden bir başlatılan plist oluşturur. Bu betik ortamı ayarlar (daha fazla ayrıntı aşağıdadır) ve aracının ana bilgisayarını başlatır.
Başlangıç
Komut:
./svc.sh start
Çıkış:
starting vsts.agent.{tfs-name}.{agent-name}
status vsts.agent.{tfs-name}.{agent-name}:
/Users/{your-name}/Library/LaunchAgents/vsts.agent.{tfs-name}.{agent-name}.plist
Started:
13472 0 vsts.agent.{tfs-name}.{agent-name}
Hizmet çalışıyorsa soldaki sayı pid'dir. İkinci sayı sıfır değilse bir sorun oluştu demektir.
Durum
Komut:
./svc.sh status
Çıkış:
status vsts.agent.{tfs-name}.{agent-name}:
/Users/{your-name}/Library/LaunchAgents/vsts.{tfs-name}.{agent-name}.testsvc.plist
Started:
13472 0 vsts.agent.{tfs-name}.{agent-name}
Hizmet çalışıyorsa soldaki sayı pid'dir. İkinci sayı sıfır değilse bir sorun oluştu demektir.
Durdur
Komut:
./svc.sh stop
Çıkış:
stopping vsts.agent.{tfs-name}.{agent-name}
status vsts.agent.{tfs-name}.{agent-name}:
/Users/{your-name}/Library/LaunchAgents/vsts.{tfs-name}.{agent-name}.testsvc.plist
Stopped
Kaldırma
Kaldırmadan önce durdurmalısınız.
Komut:
./svc.sh uninstall
Otomatik oturum açma ve kilitleme
Normalde aracı hizmeti yalnızca kullanıcı oturum açtığında çalışır. Makine yeniden başlatıldığında aracı hizmetinin otomatik olarak başlatılmasını istiyorsanız, makineyi otomatik olarak oturum açmak ve başlangıçta kilitlemek üzere yapılandırabilirsiniz. Bkz. Başlangıç sırasında Mac'inizi otomatik olarak oturum açmak için ayarlama - Apple Desteği.
Not
Daha fazla bilgi için Bkz. Terminally Geeky: use automatic login more securely blog. Bu blogda bahsedilen .plist dosyası artık kaynakta kullanılamayabilir, ancak burada bir kopya bulunabilir: Lifehacker - Oturum açmadan önce masaüstünüzü OS X'in yüklemesini sağlayın.
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
./svc.sh stop
./svc.sh start
Ortam değişkenlerinin anlık görüntüsü, aracı kök dizini altındaki dosyada .env
depolanır, ayrıca ortam değişkeni değişikliklerini uygulamak için bu dosyayı doğrudan değiştirebilirsiniz.
Hizmet başlamadan önce yönergeleri çalıştırma
Ayrıca, hizmet başlatıldığında çalıştırmak için kendi yönergelerinizi ve komutlarınızı çalıştırabilirsiniz. Örneğin, ortamı ayarlayabilir veya betikleri çağırabilirsiniz.
öğesini düzenleyin
runsvc.sh
.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.
.plist hizmet dosyası
Bir .plist hizmet dosyası oluşturulur:
~/Library/LaunchAgents/vsts.agent.{tfs-name}.{agent-name}.plist
Örnek:
~/Library/LaunchAgents/vsts.agent.fabrikam.our-osx-agent.plist
sudo ./svc.sh install
bu dosyayı bu şablondan oluşturur: ./bin/vsts.agent.plist.template
.service dosyası
./svc.sh start
yukarıda açıklanan plist hizmet dosyasının .service
yolunu içeren dosyasını okuyarak hizmeti bulur.
Alternatif hizmet mekanizmaları
Betiği, aracınızı başlatılmış bir LaunchAgent hizmeti olarak çalıştırmanız ve yönetmeniz için kullanışlı bir yol olarak sunuyoruz ./svc.sh
. Ancak tercih ettiğiniz hizmet mekanizmasını kullanabilirsiniz.
Yukarıda açıklanan şablonu, diğer hizmet dosyası türlerinin oluşturulmasını kolaylaştırmak için kullanabilirsiniz. Örneğin, kullanıcı arabirimi testlerine ihtiyacınız yoksa ve otomatik oturum açma ve kilitlemeyi yapılandırmak istemiyorsanız şablonu değiştirerek başlatma daemon'u olarak çalışan bir hizmet oluşturursunuz. Bkz . Apple Geliştirici Kitaplığı: Başlatma Daemon'ları ve Aracıları Oluşturma.
Aracıyı değiştirme
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. yanıtını Y
verirseniz değiştirdiğiniz aracıyı kaldırdığınızdan emin olun (aşağıya bakın). Aksi takdirde, birkaç dakikalık çakışmalardan sonra aracılardan biri kapanır.
Aracıyı kaldırma ve yeniden yapılandırma
Aracıyı kaldırmak için:
Yukarıda açıklandığı gibi hizmeti durdurun ve kaldırın.
Aracıyı kaldırın.
./config.sh remove
Kimlik bilgilerinizi girin.
Aracıyı kaldırdıktan sonra yeniden yapılandırabilirsiniz.
Katılımsız yapılandırma
Aracı, insan müdahalesi olmadan bir betikten ayarlanabilir.
Tüm soruların yanıtlarını ve geçmelisiniz --unattended
.
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_PASSWORD
yerine öğesini belirtin --password
.
Gerekli seçenekler
--unattended
- aracı kurulumu bilgi isteminde bulunmayacak 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:pat
(Kişisel erişim belirteci) - PAT, Azure DevOps Services ile çalışan tek şemadır.negotiate
(Kerberos veya NTLM)alt
(Temel kimlik doğrulaması)integrated
(Windows varsayılan kimlik bilgileri)
Kimlik doğrulaması seçenekleri
- seçeneğini belirlediyseniz
--auth pat
:--token <token>
- Kişisel erişim belirtecinizi belirtir- PAT, Azure DevOps Services ile çalışan tek şemadır.
- veya
--auth alt
seçeneğini belirlediyseniz--auth negotiate
:--userName <userName>
- Bir Windows kullanıcı adını veya biçimindedomain\userName
belirtiruserName@domain.com
--password <password>
- parola belirtir
Havuz ve aracı adları
--pool <pool>
- Aracının katılabilmesi için havuz adı--agent <agent>
- aracı adı--replace
- bir havuzdaki aracıyı değiştirin. Başka bir aracı aynı adı dinliyorsa, çakışmayla başarısız olur
Aracı kurulumu
--work <workDirectory>
- iş verilerinin depolandığı iş dizini. Varsayılan olarak_work
aracı dizininin kökü altında olarak ayarlı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 bunları alabilirsiniz.
Yalnızca Windows'ta 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--runAsAutoLogon
kullanıcı adını veya biçimindedomain\userName
belirtmek için veya ile--runAsService
kullanılır veyauserName@domain.com
--windowsLogonPassword <password>
- Windows oturum açma parolasını belirtmek için veya--runAsAutoLogon
ile--runAsService
kullanılır (Grup Tarafından Yönetilen Hizmet Hesapları ve 'NT AUTHORITY\NETWORK SERVICE' gibi Yerleşik Windows hesapları için gerekli değildir)--overwriteAutoLogon
- makinede var olan otomatik oturum açmanın ü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 ile--runAsAutoLogon
kullanılır
seçeneğiyle runAsAutoLogon
aracıyı yapılandırma sorunlarını giderme
Aracıyı seçeneğiyle runAsAutoLogon
yapılandırmak, makineyi yeniden başlattıktan sonra aracıyı her seferinde çalıştırır.
Aracı makineyi yeniden başlattıktan sonra çalıştırılmazsa sonraki adımları gerçekleştirin.
Aracı makinede zaten 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üttikten 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
komutunu çalıştırarak aracı kaldırılmadıysa aracıyı 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>'
Aracı adını (belirli bir benzersiz ad) belirtin ve yeniden yapılandırmadan sonra bu aracının aracı havuzunuzda görünip görünmediğini denetleyin.
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
komutunu çalıştırarak alın<sid>
. Yolunu açın Registry Editor
ve izleyin:
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 .\config.cmd
komutunu (args olmadan) çalıştırarak aracıyı kapatın Registry Editor
ve yapılandırın. Soruyu Enter Restart the machine at a later time?
yanıtlamadan önce öğesini yeniden açın Registry Editor
ve anahtarın VSTSAgent
görünip 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 düzgün çalışıp çalışmadiğini denetleyin
Şu satırı içeren bir autorun.cmd
dosya oluşturun: echo "Hello from AutoRun!"
.
Anahtarı ve değeriyle yeni bir anahtar-değer çiftinin AutoRun
üzerindeki yolda açın Registry Editor
ve oluşturun
C:\windows\system32\cmd.exe /D /S /C start "AutoRun" "D:\path\to\autorun.cmd"
Makinenizi yeniden başlatın. İletiyle birlikte bir konsol penceresi görmüyorsanız Windows kayıt defteri anahtarlarıyla Hello from AutoRun!
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ğını dağıtım grubunu belirtmek için ile--deploymentGroup
kullanılır--projectName <name>
- proje adını ayarlamak için ile--deploymentGroup
kullanılır--addDeploymentGroupTags
- dağıtım grubu etiketlerinin eklenmesi gerektiğini belirtmek için ile--deploymentGroup
kullanılır--deploymentGroupTags <tags>
- dağıtım grubu aracısının etiketlerinin virgülle ayrılmış listesini belirtmek için ile--addDeploymentGroupTags
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 ile--addvirtualmachineresourcetags
kullanılır ; örneğin, "web, db"
./config.sh --help
her zaman en son gerekli ve isteğe bağlı yanıtları listeler.
Tanılama
Şirket içi barındırılan aracınızla ilgili sorun yaşıyorsanız tanılama çalıştırmayı deneyebilirsiniz. Aracı yapılandırıldıktan sonra:
./run.sh --diagnostics
Bu, sorunu gidermenize yardımcı olabilecek bir tanılama paketi aracılığıyla çalıştırılır. Tanılama özelliği aracı sürüm 2.165.0'dan itibaren 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ınızın özellikleri kataloglanır ve havuza tanıtılır, böylece yalnızca işleyebileceği derlemeler ve yayınlar ona atanır. Bkz . Derleme ve yayın aracısı özellikleri.
Çoğu durumda, bir 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. Bir aracıya yeni yazılım yükledikten sonra, derlemenin çalışabilmesi için yeni özelliğin havuzda görünmesi için aracıyı yeniden başlatmanız gerekir.
Ortam değişkenlerini özellik olarak dışlamak istiyorsanız, yoksaymak için virgülle ayrılmış bir değişken listesiyle bir ortam değişkeni VSO_AGENT_IGNORE
ayarlayarak bunları belirleyebilirsiniz.
SSS
Nasıl yaparım? en son v2 aracısı sürümüne sahip olduğumdan 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ı'nı> seçin.
Havuzları yönet'i seçin.
Aracıyı içeren havuza tıklayın.
Aracının etkinleştirildiğinden emin olun.
Özellikler 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.
Not
Microsoft tarafından barındırılan aracılar sistem özelliklerini görüntülemez. Microsoft tarafından barındırılan aracılarda yüklü yazılımların listesi için bkz. Microsoft tarafından barındırılan aracı kullanma.
Aracı havuzları sekmesinden istediğiniz havuzu seçin.
Aracılar'ı seçin ve istediğiniz aracıyı seçin.
Özellikler sekmesini seçin.
Aracı havuzları sekmesinden istediğiniz havuzu seçin.
Aracılar'ı seçin ve istediğiniz aracıyı seçin.
Özellikler sekmesini seçin.
İstediğiniz aracıyı seçin ve Özellikler sekmesini seçin.
Özelliği arayın
Agent.Version
. Bu değeri en son yayımlanan aracı sürümüyle karşılaştırabilirsiniz. Bkz. Azure Pipelines Aracısı ve listelenen en yüksek sürüm numarası için sayfayı denetleyin.Her aracı, aracının daha yeni bir sürümünü gerektiren bir görev çalıştırdığında kendisini otomatik olarak güncelleştirir. Bazı aracıları el ile güncelleştirmek istiyorsanız havuza sağ tıklayın ve Tüm aracıları güncelleştir'i seçin.
Azure DevOps Server havuzunun parçası olan v2 aracılarımı güncelleştirebilir miyim?
Evet. Azure DevOps Server 2019'da başlayarak, sunucunuzu yerel diskte aracı 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 erişimi olmadığında da geçerlidir.
İnternet erişimi olan bir bilgisayardan Aracı paketi dosyalarının en son sürümünü (.zip veya .tar.gz biçiminde) Azure Pipelines Aracısı GitHub Yayınları sayfasından indirin.
İ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ı klasörün altına
%ProgramData%\Microsoft\Azure DevOps\Agents
yerleştirin.Hazırsınız! Azure DevOps Server 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.
Başlatılan hizmetin nasıl çalıştığı hakkında nereden daha fazla bilgi edinebilirim?
Apple Geliştirici Kitaplığı: Başlatma Daemon'ları ve Aracıları Oluşturma
Güvenlik duvarı çalıştırıyorum ve kodum Azure Repos. Aracını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 |
Etki alanını kullanan kuruluşlar için Azure DevOps Paketleme API'si {organization_name}.visualstudio.com |
https://{organization_name}.visualstudio.com |
Etki alanını kullanan {organization_name}.visualstudio.com kuruluşlar için |
https://{organization_name}.vsblob.visualstudio.com |
Etki alanını kullanan kuruluşlar için Azure DevOps Telemetrisi {organization_name}.visualstudio.com |
https://{organization_name}.vsrm.visualstudio.com |
etki alanını kullanan {organization_name}.visualstudio.com kuruluşlar için Release Management Hizmetleri |
https://{organization_name}.vssps.visualstudio.com |
Etki alanını kullanan {organization_name}.visualstudio.com kuruluşlar için Azure DevOps Platform Hizmetleri |
https://{organization_name}.vstmr.visualstudio.com |
Etki alanını kullanan {organization_name}.visualstudio.com kuruluşlar için Azure DevOps Test Yönetim Hizmetleri |
https://*.blob.core.windows.net |
Azure Artifacts |
https://*.dev.azure.com |
Etki alanını kullanan dev.azure.com kuruluşlar için |
https://*.vsassets.io |
CDN aracılığıyla Azure Artifacts |
https://*.vsblob.visualstudio.com |
Etki alanını kullanan kuruluşlar için Azure DevOps Telemetrisi dev.azure.com |
https://*.vssps.visualstudio.com |
Etki alanını kullanan dev.azure.com kuruluşlar için Azure DevOps Platform Hizmetleri |
https://*.vstmr.visualstudio.com |
Etki alanını kullanan dev.azure.com kuruluşlar için Azure DevOps Test Yönetim Hizmetleri |
https://app.vssps.visualstudio.com |
Etki alanını kullanan {organization_name}.visualstudio.com kuruluşlar için |
https://dev.azure.com |
Etki alanını kullanan dev.azure.com kuruluşlar için |
https://login.microsoftonline.com |
Azure Active Directory oturumu açma |
https://management.core.windows.net |
Azure Yönetim API'lerinin |
https://vstsagentpackage.azureedge.net |
Aracı paketi |
Kuruluşunuzun mevcut güvenlik duvarı veya IP kısıtlamalarıyla çalıştığından emin olmak için açık olduğundan ve açık olduğundan dev.azure.com
*dev.azure.com
emin olun ve izin veren IP'lerinizi IP sürümünüz temelinde aşağıdaki IP adreslerini içerecek şekilde güncelleştirin. ve 13.107.9.183
IP adreslerini şu anda izin ver-listeliyorsanız13.107.6.183
, kaldırmanıza gerek olmadığından, bunları yerinde bırakın.
IPv4 aralıkları
13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
IPv6 aralıkları
2620:1ec:4::/48
2620:1ec:a92::/48
2620:1ec:21::/48
2620:1ec:22::/48
Not
İzin verilen adresler hakkında daha fazla bilgi için bkz. İzin verilen adres listeleri ve ağ bağlantıları.
Aracıyı otomatik olarak imzalanan sertifikayla Nasıl yaparım? çalıştırın?
Aracıyı otomatik olarak imzalanan sertifikayla çalıştırma
Aracıyı bir web ara sunucusunun arkasında Nasıl yaparım? çalıştırın?
Aracıyı bir web ara sunucusunun arkasında çalıştırma
aracıyı yeniden başlatma Nasıl yaparım?
Aracıyı etkileşimli olarak çalıştırıyorsanız Etkileşimli çalıştırma bölümündeki yeniden başlatma yönergelerine bakın. Aracıyı hizmet olarak çalıştırıyorsanız Aracıyı durdurmave başlatma adımlarını izleyin.
Aracıyı web proxy'sini atlayacak ve Azure Pipelines'a bağlanacak şekilde Nasıl yaparım? yapılandırabilirsiniz?
Aracının proxy'nizi atlayıp Azure Pipelines'a doğrudan bağlanmasını istiyorsanız, web proxy'nizi aracının aşağıdaki URL'lere erişmesini sağlayacak şekilde yapılandırmanız gerekir.
Etki alanını kullanan kuruluşlar için *.visualstudio.com
:
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 için dev.azure.com
:
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şunuzun mevcut güvenlik duvarı veya IP kısıtlamalarıyla çalıştığından emin olmak için açık olduğundan ve açık olduğundan dev.azure.com
*dev.azure.com
emin olun ve izin veren IP'lerinizi IP sürümünüz temelinde aşağıdaki IP adreslerini içerecek şekilde güncelleştirin. ve 13.107.9.183
IP adreslerini şu anda izin ver-listeliyorsanız13.107.6.183
, kaldırmanıza gerek olmadığından, bunları yerinde bırakın.
IPv4 aralıkları
13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
IPv6 aralıkları
2620:1ec:4::/48
2620:1ec:a92::/48
2620:1ec:21::/48
2620:1ec:22::/48
Not
Bu yordam, aracının bir 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 bana uygun değil. 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'da kullanılabilir ve henüz şirket içinde kullanılamaz. TFS'nin en son sürümüne yükselttiyseniz bazı özellikler şirket içinde kullanılabilir.