Agenti Windows na vlastním serveru
Služby Azure DevOps
K sestavení a nasazení windows, Azure a dalších řešení sady Visual Studio budete potřebovat aspoň jednoho agenta Pro Windows. Agenti pro Windows můžou také vytvářet aplikace v Javě a Androidu.
Tento článek obsahuje pokyny k používání softwaru agenta 3.x s Azure DevOps Services a aktuálními verzemi Azure DevOps Serveru. Seznam verzí Azure DevOps Serveru, které podporují agenta 3.x, najdete v tématu Podporuje Azure DevOps Server agent 3.x.
Poznámka:
Tento článek popisuje, jak nakonfigurovat agenta v místním prostředí. Pokud používáte Azure DevOps Services a agenta hostovaného Microsoftem, splňuje vaše potřeby, můžete přeskočit nastavení místního agenta Windows.
Informace o agentech
Pokud už víte, co je agent a jak funguje, můžete přejít přímo do následujících částí. Pokud byste ale chtěli více informací o tom, co dělají a jak fungují, podívejte se na agenty Azure Pipelines, sekci .
Kontrola požadavků
Ujistěte se, že váš počítač má tyto požadavky:
- Verze operačního systému
- Klientský operační systém
- Windows 7 SP1 ESU
- Windows 8.1
- Windows 10
- Windows 11
- Serverový operační systém
- Windows Server 2012 nebo novější
- Klientský operační systém
- Software agenta nainstaluje vlastní verzi rozhraní .NET, takže neexistuje žádný požadavek .NET.
- PowerShell 3.0 nebo vyšší
- subversion – pokud vytváříte z úložiště Subversion, musíte na počítač nainstalovat klienta Subversion.
- Doporučeno – nástroje sestavení sady Visual Studio (2015 nebo vyšší)
Při prvním nastavení agenta byste měli tento proces spustit ručně. Jakmile zjistíte, jak agenti fungují, nebo pokud chcete automatizovat nastavení mnoha agentů, zvažte použití bezobslužné konfigurace.
Specifikace hardwaru
Specifikace hardwaru pro vaše agenty se budou lišit podle vašich potřeb, velikosti týmu atd. Obecné doporučení, které bude platit pro všechny, není možné. Pro lepší představu tým Azure DevOps sestaví kód hostovaných agentů pomocí pipelin, které využívají hostované agenty. Na druhou stranu je většina kódu Azure DevOps vytvořená 24jádrovými počítači třídy serveru, na kterých běží čtyři agenti v místním prostředí.
Příprava oprávnění
Zabezpečení informací pro agenty v místním prostředí
Uživatel, který konfiguruje agenta, potřebuje oprávnění správce fondu, ale uživatel, který agent spouští, ne.
Složky řízené agentem by měly být omezeny na co nejméně uživatelů, protože obsahují tajemství, která by mohla být dešifrována nebo exfiltrována.
Agent Azure Pipelines je softwarový produkt navržený ke spuštění kódu, který stáhne z externích zdrojů. Ze své podstaty může být cílem útoků RCE (Remote Code Execution).
Proto je důležité vzít v úvahu model hrozeb, který obklopuje každé jednotlivé použití agentů Pipelines, k provádění práce a rozhodnout se, jaká minimální oprávnění by mohla být udělena uživateli, na kterém běží agent, na počítači, na kterém agent běží, pro uživatele, kteří mají přístup k definici kanálu, úložiště Git, kde je yaml uložený, nebo skupinu uživatelů, kteří řídí přístup k fondu pro nové kanály.
Osvědčeným postupem je, aby identita, pod kterou agent běží, byla jiná než identita s oprávněními pro připojení agenta k fondu. Uživatel, který generuje přihlašovací údaje (a další soubory související s agenty), se liší od uživatele, který je potřebuje přečíst. Proto je bezpečnější pečlivě zvážit přístup udělený samotnému počítači agenta a složky agentů, které obsahují citlivé soubory, jako jsou protokoly a artefakty.
Dává smysl udělit přístup ke složce agenta pouze správcům DevOps a identitě uživatele, která spouští proces agenta. Správci možná budou muset prozkoumat systém souborů, aby porozuměli chybám sestavení nebo získali soubory protokolů, aby mohli hlásit selhání Azure DevOps.
Rozhodněte se, kterého uživatele použijete.
Jako jednorázový krok musíte agenta zaregistrovat. Tento postup musí provést někdo s oprávněním ke správě fronty agentů. Agent nebude používat přihlašovací údaje této osoby v každodenní operaci, ale musí dokončit registraci. Přečtěte si další informace o tom, jak agenti komunikují.
Potvrzení, že má uživatel oprávnění
Ujistěte se, že uživatelský účet, který budete používat, má oprávnění k registraci agenta.
Je uživatel vlastníkem organizace Azure DevOps nebo správcem TFS nebo Azure DevOps Serveru? Přestaňte tady, máte oprávnění.
Jinak:
Otevřete prohlížeč a přejděte na kartu Agent Pools pro vaši organizaci v Azure Pipelines, Azure DevOps Server nebo TFS serveru.
Přihlaste se ke své organizaci (
https://dev.azure.com/{yourorganization}
).Zvolte Azure DevOps, nastavení organizace.
Vyberte agentové fondy.
Přihlaste se ke své kolekci projektů (
http://your-server/DefaultCollection
).Zvolte Azure DevOps, Nastavení kolekce.
Vyberte agentové fondy.
Vyberte fond na pravé straně stránky a potom klikněte na Zabezpečení.
Pokud se uživatelský účet, který budete používat, nezobrazuje, získejte správce, aby ho přidal. Správcem může být správce fondu agentů, vlastník organizace Azure DevOps nebo správce TFS nebo Azure DevOps Serveru.
Pokud se jedná o agenta skupiny nasazení, správce může být správcem skupiny nasazení, vlastníkem organizace Azure DevOps nebo správcem TFS nebo Azure DevOps Serveru.
Uživatele můžete přidat do role správce skupiny nasazení na kartě Zabezpečení na stránce Skupiny nasazení v Azure Pipelines.
Poznámka:
Pokud se zobrazí podobná zpráva: Omlouváme se, ale identitu se nám nepovedlo přidat. Zkuste jinou identitu.jste pravděpodobně postupovali podle výše uvedených kroků pro vlastníka organizace nebo správce TFS nebo Azure DevOps Serveru. Nemusíte dělat nic. už máte oprávnění ke správě fondu agentů.
Stažení a konfigurace agenta
Azure Pipelines
Přihlaste se k počítači pomocí účtu, pro který jste připravili oprávnění, jak je vysvětleno výše.
Ve webovém prohlížeči se přihlaste ke službě Azure Pipelines a přejděte na kartu Fondy agentů:
Přihlaste se ke své organizaci (
https://dev.azure.com/{yourorganization}
).Zvolte Azure DevOps, nastavení organizace.
Vyberte agentové fondy.
Přihlaste se ke své kolekci projektů (
http://your-server/DefaultCollection
).Zvolte Azure DevOps, Nastavení kolekce.
Vyberte agentové fondy.
Vyberte výchozí fond, vyberte kartu Agenti a zvolte Nový agent.
V dialogovém okně Získat agenta zvolte Windows.
V levém podokně vyberte architekturu procesoru nainstalované verze operačního systému Windows na vašem počítači. Verze agenta x64 je určená pro 64bitovou verzi Windows, zatímco verze x86 je určená pro 32bitovou verzi Windows. Pokud si nejste jistí, která verze Windows je nainstalovaná, postupujte podle těchto pokynů a zjistěte ji.
V pravém podokně klikněte na tlačítko Stáhnout .
Podle pokynů na stránce stáhněte agenta.
Rozbalte agenta do vámi vybraného adresáře. Ujistěte se, že cesta k adresáři neobsahuje mezery, protože nástroje a skripty ne vždy správně zpracovávají mezery. Doporučená složka je
C:\agents
. Extrahování ve složce pro stahování nebo jiných uživatelských složkách může způsobit problémy s oprávněními.
Důležité
Důrazně doporučujeme nakonfigurovat agenta z okna PowerShellu se zvýšenými oprávněními. Pokud chcete nakonfigurovat jako službu, je to povinné.
Ke konfiguraci agenta nesmíte použít prostředí Windows PowerShell ISE .
Důležité
Z bezpečnostních důvodů důrazně doporučujeme zajistit, aby složka agentů (C:\agents
) byla upravovat pouze správci.
Poznámka:
Vyhněte se používání shellů založených na mintty, jako je git-bash, pro konfiguraci agenta. Mintty není plně kompatibilní s nativním rozhraním API pro vstup a výstup windows (zde jsou některé informace o něm) a v tomto případě nemůžeme zaručit, že instalační skript bude v tomto případě fungovat správně.
Instalujte agenta
Spusťte okno se zvýšenými oprávněními (PowerShell) a nastavte umístění, kam jste agenta rozbalili.
cd C:\agents
Spusťte
config.cmd
. Tím se zeptáte na řadu otázek, abyste agenta nakonfigurovali..\config.cmd
Adresa URL serveru
Když nastavení požádá o adresu URL serveru pro Azure DevOps Services, zadejte https://dev.azure.com/{your-organization}
.
Když instalační program požádá o adresu URL vašeho serveru, pro Azure DevOps Server, odpovězte https://{my-server}/{my-collection}
.
Typ ověřování nastavení agenta
Při registraci agenta vyberte z následujících typů ověřování a instalační program vás vyzve k zadání konkrétních dalších informací požadovaných pro každý typ ověřování. Další informace najdete v tématu možnosti ověřování agenta v místním prostředí.
- osobní přístupový token
- Alternativní připojení k Azure DevOps Serveru nebo TFS pomocí základního ověřování. Když vyberete alternativní zobrazí se výzva k zadání přihlašovacích údajů.
Agenti Windows mají následující dvě další možnosti ověřování na Azure DevOps Serveru a TFS.
- Negotiate Připojit se k TFS jako jiný než přihlášený uživatel prostřednictvím schématu ověřování systému Windows, jako je NTLM nebo Kerberos. Po výběru možnosti Negotiate se zobrazí výzva k zadání přihlašovacích údajů.
- integrované (výchozí) Připojení agenta systému Windows k TFS pomocí přihlašovacích údajů přihlášeného uživatele prostřednictvím schématu ověřování systému Windows, jako je NTLM nebo Kerberos. Po výběru této metody se nezobrazí výzva k zadání přihlašovacích údajů.
Důležité
Server musí být nakonfigurovaný tak, aby podporoval metodu ověřování pro použití alternativního, vyjednacího nebo integrovaného ověřování.
Metoda ověřování použitá k registraci agenta se používá pouze při registraci agenta. Další informace o tom, jak agenti komunikují se službou Azure Pipelines po registraci, najdete v tématu Komunikace se službou Azure Pipelines nebo TFS.
Volba interaktivního režimu nebo režimu služby
Pokyny ke spuštění agenta v interaktivním režimu nebo jako službě najdete v tématu Agenti: Interaktivní vs. služba.
Pokud se rozhodnete spustit jako službu (což doporučujeme), uživatelské jméno, pod kterým službu spustíte, by mělo být dlouhé maximálně 20 znaků.
Spusťte agenta
Spustit interaktivně
Pokud jste agenta nakonfigurovali tak, aby běžel interaktivně, spusťte agenta spuštěním následujícího příkazu.
.\run.cmd
Pokud chcete agenta restartovat, stisknutím kombinace kláves Ctrl+C zastavte agenta a potom ho restartujte spuštěním run.cmd
.
Poznámka:
Pokud spouštíte agenta z PowerShellu Core pro spouštění úloh Windows PowerShellu, může váš kanál selhat s chybou, například Error in TypeData "System.Security.AccessControl.ObjectSecurity": The member is already present
. Důvodem je to, že Windows PowerShell dědí proměnnou prostředí PSModulePath
, která zahrnuje umístění modulu PowerShell Core z nadřazeného procesu.
Alternativním řešením je nastavit knoflík AZP_AGENT_CLEANUP_PSMODULES_IN_POWERSHELL
agenta na true
v kanálu. To umožní agentu resetovat PSModulePath
před provedením úloh.
variables:
AZP_AGENT_CLEANUP_PSMODULES_IN_POWERSHELL: "true"
Pokud toto alternativní řešení váš problém nevyřeší nebo pokud potřebujete použít vlastní umístění modulů, můžete před spuštěním agenta nastavit proměnnou $Env:PSModulePath
podle potřeby v okně PowerShell Core.
Spustit jednou
Můžete také zvolit, že agent přijme jenom jednu úlohu a pak ji ukončí. Ke spuštění v této konfiguraci použijte následující příkaz.
.\run.cmd --once
Agenti v tomto režimu přijmou pouze jednu úlohu a pak se plynule vypnou (což je užitečné pro běh v Dockeru na službě, jako je Azure Container Instances).
Spustit jako službu
Pokud jste agenta nakonfigurovali tak, aby běžel jako služba, spustí se automaticky. Stav běžícího agenta můžete zobrazit a ovládat z modulu služeb snap-in. Spusťte services.msc
a vyhledejte jednu z těchto možností:
- Azure Pipelines Agent (název vašeho agenta)
- "Agent VSTS (název vašeho agenta)"
- "vstsagent. (název organizace). (název vašeho agenta)"
Poznámka:
Chcete-li umožnit větší flexibilitu s řízením přístupu agenta spuštěného jako služby, je možné nastavit typ SID služby agenta jako [SERVICE_SID_TYPE_UNRESTRICTED
] prostřednictvím příznaku nebo výzvy během interaktivního toku konfigurace.
Ve výchozím nastavení je služba agenta nakonfigurována s SERVICE_SID_TYPE_NONE
.
Další podrobnosti o typech identifikátorů SID najdete v této dokumentaci.
Pokud chcete agenta restartovat, klikněte pravým tlačítkem myši na položku a zvolte Restartovat.
Poznámka:
Pokud potřebujete změnit přihlašovací účet agenta, nedělejte to z modulu snap-in Služby. Místo toho se podívejte na následující informace a překonfigurujte agenta.
Chcete-li použít svého agenta, spusťte úlohu z fondu agenta. Pokud jste nevybrali jiný fond, váš agent bude ve výchozím fondu.
Nahrazení agenta
Pokud chcete nahradit agenta, znovu postupujte podle kroků ke stažení a konfiguraci agenta.
Když nakonfigurujete agenta se stejným názvem jako agent, který už existuje, zobrazí se dotaz, jestli chcete nahradit existujícího agenta. Pokud odpovíte Y
, nezapomeňte odebrat agenta (viz níže), který nahrazujete. Jinak se po několika minutách konfliktů jeden z agentů vypne.
Odebrání a změna konfigurace agenta
Odstraňte agenta:
.\config remove
Po odebrání agenta ho můžete znovu nakonfigurovat.
Bezobslužná konfigurace
Agenta je možné nastavit ze skriptu bez zásahu člověka.
Musíte předat --unattended
a odpovědi na všechny otázky.
Pokud chcete nakonfigurovat agenta, musí znát adresu URL vaší organizace nebo kolekce a přihlašovací údaje někoho, kdo má oprávnění k nastavení agentů.
Všechny ostatní odpovědi jsou volitelné.
Libovolný parametr příkazového řádku lze místo toho zadat pomocí proměnné prostředí: zadejte jeho název velkými písmeny a před něj přidejte VSTS_AGENT_INPUT_
.
Například VSTS_AGENT_INPUT_PASSWORD
místo zadání --password
.
Požadované možnosti
-
--unattended
– Instalace agenta nezobrazí výzvu k zadání informací a všechna nastavení musí být k dispozici na příkazovém řádku. -
--url <url>
– adresa URL serveru. Příklad: https://dev.azure.com/myorganization nebo http://my-azure-devops-server:8080/tfs -
--auth <type>
– typ ověřování. Platné hodnoty jsou:-
pat
(osobní přístupový token) -
SP
(služební principal) (vyžaduje agenta verze 3.227.1 nebo novější) -
negotiate
(Kerberos nebo NTLM) -
alt
(základní ověřování) -
integrated
(Výchozí přihlašovací údaje windows)
-
Možnosti ověřování
- Pokud jste zvolili
--auth pat
:-
--token <token>
– určuje váš osobní přístupový token. - Token OAuth 2.0 můžete předat také jako parametr
--token
.
-
- Pokud jste zvolili
--auth negotiate
nebo--auth alt
:-
--userName <userName>
– určuje uživatelské jméno systému Windows ve formátudomain\userName
nebouserName@domain.com
-
--password <password>
– určuje heslo.
-
- Pokud jste zvolili
--auth SP
:-
--clientID <clientID>
– určuje ID klienta hlavní služby s přístupem k registraci agentů. -
--tenantId <tenantID>
– určuje ID klienta, ve kterém je služební účet zaregistrovaný. -
--clientSecret <clientSecret>
– určuje tajný klíč klienta služba principal. - Podrobnosti najdete v části Registrace agenta pomocí přihlašovacího údaje služby.
-
Názvy fondů a agentů
-
--pool <pool>
– název poolu pro agenta, který se má připojit -
--agent <agent>
– název agenta -
--replace
– vyměňte agenta ve skupině. Pokud jiný agent naslouchá se stejným názvem, začne selhávat kvůli konfliktu.
Nastavení agenta
-
--work <workDirectory>
– pracovní adresář, ve kterém jsou uložená data úlohy. Nastavuje se na_work
pod kořenem adresáře agenta. Pracovní adresář vlastní daný agent a neměl by být sdílen mezi několika agenty. -
--acceptTeeEula
– přijměte Licenční smlouvu team Exploreru pro všechny koncové uživatele (jenom macOS a Linux). -
--disableloguploads
– streamujte ani neodesílejte výstup protokolu konzoly na server. Místo toho je můžete po dokončení úlohy načíst ze systému souborů hostitele agenta.
Spuštění jen pro Windows
-
--runAsService
– nakonfigurujte agenta tak, aby běžel jako služba Systému Windows (vyžaduje oprávnění správce). -
--runAsAutoLogon
– konfigurace automatického přihlášení a spuštění agenta při spuštění (vyžaduje oprávnění správce) -
--windowsLogonAccount <account>
- používá se nebo--runAsService
--runAsAutoLogon
k určení uživatelského jména systému Windows ve formátudomain\userName
nebouserName@domain.com
-
--windowsLogonPassword <password>
– používá se s--runAsService
nebo--runAsAutoLogon
, aby určil přihlašovací heslo systému Windows (nevyžaduje se pro Spravované účty služby skupiny a integrované účty systému Windows, jako je NT AUTHORITY\NETWORK SERVICE). -
--enableservicesidtypeunrestricted
– používá se--runAsService
ke konfiguraci agenta s typem SID služby jakoSERVICE_SID_TYPE_UNRESTRICTED
(vyžaduje oprávnění správce). -
--overwriteAutoLogon
- používá se společně s--runAsAutoLogon
k přepsání existujícího automatického přihlášení na počítači. -
--noRestart
– používá se spolu s--runAsAutoLogon
k zabránění restartování hostitele po dokončení konfigurace agenta.
Řešení potíží s konfigurací agenta pomocí možnosti runAsAutoLogon
Konfigurace agenta s runAsAutoLogon
možností spustí agenta pokaždé po restartování počítače.
Pokud se agent po restartování počítače nespustí, proveďte další kroky.
Pokud už byl agent na počítači nakonfigurovaný
Před změnou konfigurace agenta je nutné odebrat starou konfiguraci agenta, takže zkuste spustit tento příkaz ze složky agenta:
.\config.cmd remove --auth 'PAT' --token '<token>'
Po spuštění příkazu zkontrolujte, jestli se agent odebral z fondu agentů:
<Azure DevOps organization> / <Project> / Settings / Agent pools / <Agent Pool> / Agents
Odeberte agenta z fondu agentů ručně, pokud nebyl odebrán spuštěním příkazu.
Potom zkuste agenta překonfigurovat spuštěním tohoto příkazu ze složky agenta:
.\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>'
Zadejte název agenta (libovolný konkrétní jedinečný název) a zkontrolujte, jestli se tento agent po změně konfigurace zobrazil ve vašem fondu agentů.
Bude mnohem lepší rozbalit archiv agenta (který lze stáhnout zde) a spustit tento příkaz z nové rozbalené složky agenta.
Zkontrolujte, jestli je klíč registru Windows nahraný a správně uložený.
Proveďte příkaz whoami /user
pro získání <sid>
. Otevřete Registry Editor
a postupujte podle cesty:
Computer\HKEY_USERS\<sid>\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Zkontrolujte, jestli existuje klíč VSTSAgent
. Odstraňte tento klíč, pokud existuje, zavřete Registry Editor
a nakonfigurujte agenta spuštěním .\config.cmd
příkazu (bez args) ze složky agenta. Před zodpovězením otázky Enter Restart the machine at a later time?
znovu otevřete Registry Editor
a zkontrolujte, jestli VSTSAgent
se klíč zobrazil. Stisknutím klávesy Enter
odpovězte na otázku a zkontrolujte, jestli VSTSAgent
po restartování počítače zůstane na svém místě.
Zkontrolujte, jestli klíče registru Windows na vašem počítači fungují správně.
Vytvořte autorun.cmd
soubor, který obsahuje následující řádek: echo "Hello from AutoRun!"
.
Otevřete Registry Editor
a vytvořte v uvedené cestě novou dvojici klíč-hodnota s klíčem AutoRun
a hodnotou.
C:\windows\system32\cmd.exe /D /S /C start "AutoRun" "D:\path\to\autorun.cmd"
Restartujte počítač. Máte problém s klíči registru Systému Windows, pokud se zpráva nezobrazí v okně konzoly Hello from AutoRun!
.
Pouze skupina implementace
-
--deploymentGroup
– konfigurace agenta jako agenta skupiny nasazení -
--deploymentGroupName <name>
– používá se s--deploymentGroup
k určení skupiny nasazení, ke které se má agent připojit. -
--projectName <name>
– používá se s--deploymentGroup
k nastavení názvu projektu -
--addDeploymentGroupTags
– ve spojení s--deploymentGroup
se používá k indikaci, že by měly být přidány značky skupiny nasazení. -
--deploymentGroupTags <tags>
– používá se s--addDeploymentGroupTags
k určení čárkami odděleného seznamu značek pro agenta skupiny nasazení – například "web, db".
Pouze prostředí
-
--addvirtualmachineresourcetags
– používá se k označení, že by měly být přidány značky prostředí. -
--virtualmachineresourcetags <tags>
– používá se s--addvirtualmachineresourcetags
k určení čárkami odděleného seznamu tagů pro agenta zdrojů prostředí – například "web, db".
.\config --help
vždy uvádí nejnovější požadované a volitelné odpovědi.
Diagnostika
Pokud máte potíže s agentem provozovaným na vlastním serveru, můžete zkusit spustit diagnostiku. Po konfiguraci agenta:
.\run --diagnostics
Tím se projde diagnostický soubor nástrojů, který vám může pomoct s odstraněním problému. Funkce diagnostiky je dostupná od agenta verze 2.165.0.
Diagnostika sítě pro agenty v místním prostředí
Nastavte hodnotu Agent.Diagnostic
na true
a shromážděte další logy použitelné k řešení problémů se sítí pro samohostované agenty. Další informace najdete v tématu Diagnostika sítě pro agenty v místním prostředí
Nápověda k dalším možnostem
Další informace o dalších možnostech:
.\config --help
Nápověda poskytuje informace o alternativách ověřování a bezobslužné konfiguraci.
Schopnosti
Možnosti vašeho agenta jsou katalogizovány a inzerovány ve skupině tak, aby mu byly přiřazeny pouze ty sestavení a verze, které může zpracovat. Viz možnosti agenta sestavení a vydání.
V mnoha případech budete muset po nasazení agenta nainstalovat software nebo nástroje. Obecně byste měli na agenty nainstalovat jakýkoli software a nástroje, které používáte na vývojovém počítači.
Pokud vaše sestavení například obsahuje úlohu npm, pak se sestavení nespustí, pokud ve fondu není agent sestavení, který má nainstalovaný npm.
Důležité
Možnosti zahrnují všechny proměnné prostředí a hodnoty, které jsou nastavené při spuštění agenta. Pokud se některá z těchto hodnot změní v době, kdy je agent spuštěný, musí být restartován, aby se načetly nové hodnoty. Po instalaci nového softwaru do agenta je nutné agenta restartovat, aby se nová funkce zobrazila ve fondu a bylo možné spustit sestavení.
Pokud chcete vyloučit proměnné prostředí jako možnosti, můžete je určit nastavením proměnné prostředí VSO_AGENT_IGNORE
se seznamem proměnných oddělených čárkami, které chcete ignorovat.
Často kladené dotazy
Jakou verzi Gitu má agent spuštěný?
Ve výchozím nastavení používá agent Windows verzi Gitu, která je součástí softwaru agenta. Microsoft doporučuje používat verzi Gitu, která je součástí agenta, ale máte několik možností, jak toto výchozí chování přepsat a použít verzi Gitu, kterou má počítač agenta nainstalovaný v cestě.
- Nastavte proměnnou pipeline s názvem
System.PreferGitFromPath
natrue
ve svých pipelinech. - Na samo-hostovaných agentech můžete vytvořit soubor s názvem .env v kořenovém adresáři agenta a přidat řádek
System.PreferGitFromPath=true
do souboru. Další informace najdete v tématu Návody nastavení různých proměnných prostředí pro každého jednotlivého agenta?
Pokud chcete zobrazit verzi Gitu používanou kanálem, můžete se podívat na protokoly kroku checkout
v kanálu, jak je znázorněno v následujícím příkladu.
Syncing repository: PathFilter (Git)
Prepending Path environment variable with directory containing 'git.exe'.
git version
git version 2.26.2.windows.1
Jak zajistím, že mám nejnovější verzi klienta?
Přejděte na kartu Agentní fondy:
Přihlaste se ke své organizaci (
https://dev.azure.com/{yourorganization}
).Zvolte Azure DevOps, nastavení organizace.
Vyberte agentové fondy.
Přihlaste se ke své kolekci projektů (
http://your-server/DefaultCollection
).Zvolte Azure DevOps, Nastavení kolekce.
Vyberte agentové fondy.
Klikněte na skupinu, která obsahuje agenta.
Ujistěte se, že je agent povolený.
Přejděte na kartu schopností:
Na kartě fondů agentů vyberte požadovaný fond agentů.
Vyberte Agenty a zvolte požadovaného agenta.
Zvolte kartu Schopnosti.
Poznámka:
Agenti hostovaní Microsoftem nezobrazují systémové funkce. Seznam softwaru nainstalovaných na agentech hostovaných Microsoftem najdete v tématu Použití agenta hostovaného Microsoftem.
Na záložce Fondy agentů vyberte požadovaný fond.
Vyberte Agenty a zvolte požadovaného agenta.
Zvolte kartu Schopnosti.
Vyhledejte možnost
Agent.Version
. Můžete tuto hodnotu porovnat s nejnovější publikovanou verzí agenta. Podívejte se na Agenta Azure Pipelines a zkontrolujte stránku s nejvyšším uvedeným číslem verze.Každý agent se automaticky aktualizuje, když spustí úlohu, která vyžaduje novější verzi agenta. Pokud chcete některé agenty aktualizovat ručně, klikněte pravým tlačítkem na fond a vyberte Aktualizovat všechny agenty.
Můžu aktualizovat agenty, kteří jsou součástí fondu Azure DevOps Serveru?
Ano. Od Azure DevOps Serveru 2019 můžete nakonfigurovat server tak, aby hledal soubory balíčků agentů na místním disku. Tato konfigurace přepíše výchozí verzi, která byla součástí serveru v době vydání. Tento scénář platí také v případě, že server nemá přístup k internetu.
Z počítače s přístupem k internetu stáhněte nejnovější verzi souborů balíčku agenta (v .zip nebo .tar.gz formátu) ze vydání agenta Azure Pipelines na GitHubu.
Přeneste stažené soubory balíčků do každé aplikační vrstvy serveru Azure DevOps pomocí zvolené metody (jako je usb disk, síťový přenos atd.). Soubory agenta umístěte do následující složky:
- Windows:
%ProgramData%\Microsoft\Azure DevOps\Agents
- Linux:
usr/share/Microsoft/Azure DevOps/Agents
- macOS:
usr/share/Microsoft/Azure DevOps/Agents
Vytvořte složku Agentů, pokud není k dispozici.
- Máte všechno připravené! Váš Azure DevOps Server teď použije místní soubory při každé aktualizaci agentů. Každý agent se automaticky aktualizuje, když spustí úlohu, která vyžaduje novější verzi agenta. Pokud ale chcete některé agenty aktualizovat ručně, klikněte pravým tlačítkem na fond a pak zvolte Aktualizovat všechny agenty.
Provozuji bránu firewall a můj kód je v úložištích Azure Repos. S jakými adresami URL musí agent komunikovat?
Pokud používáte agenta v zabezpečené síti za bránou firewall, ujistěte se, že agent může zahájit komunikaci s následujícími adresami URL a IP adresami.
Adresa URL domény | Popis |
---|---|
https://{organization_name}.pkgs.visualstudio.com |
Azure DevOps Packaging API pro organizace používající doménu {organization_name}.visualstudio.com |
https://{organization_name}.visualstudio.com |
Pro organizace používající doménu {organization_name}.visualstudio.com |
https://{organization_name}.vsblob.visualstudio.com |
Telemetrie Azure DevOps pro organizace používající doménu {organization_name}.visualstudio.com |
https://{organization_name}.vsrm.visualstudio.com |
Release Management Services pro organizace používající {organization_name}.visualstudio.com doménu |
https://{organization_name}.vssps.visualstudio.com |
Azure DevOps Platform Services pro organizace používající doménu {organization_name}.visualstudio.com |
https://{organization_name}.vstmr.visualstudio.com |
Azure DevOps Test Management Services pro organizace používající doménu {organization_name}.visualstudio.com |
https://*.blob.core.windows.net |
Azure Artifacts |
https://*.dev.azure.com |
Pro organizace používající doménu dev.azure.com |
https://*.vsassets.io |
Azure Artifacts přes CDN |
https://*.vsblob.visualstudio.com |
Telemetrie Azure DevOps pro organizace používající doménu dev.azure.com |
https://*.vssps.visualstudio.com |
Azure DevOps Platform Services pro organizace používající doménu dev.azure.com |
https://*.vstmr.visualstudio.com |
Azure DevOps Test Management Services pro organizace používající doménu dev.azure.com |
https://app.vssps.visualstudio.com |
Pro organizace používající doménu {organization_name}.visualstudio.com |
https://dev.azure.com |
Pro organizace používající doménu dev.azure.com |
https://login.microsoftonline.com |
Přihlášení k Microsoft Entra |
https://management.core.windows.net |
Rozhraní API pro správu Azure |
https://vstsagentpackage.azureedge.net |
Balíček agenta |
Pokud chcete zajistit, aby vaše organizace fungovala s existujícími omezeními brány firewall nebo IP adres, ujistěte se, že dev.azure.com
a *dev.azure.com
jsou otevřené a aktualizujte ip adresy uvedené v seznamu povolených tak, aby obsahovaly následující IP adresy na základě vaší verze IP adresy. Pokud momentálně zařazujete IP adresy 13.107.6.183
a 13.107.9.183
na seznam povolených, ponechte je tam, protože je nemusíte odebírat.
Rozsahy IPv4
13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
Rozsahy IPv6
2620:1ec:4::/48
2620:1ec:a92::/48
2620:1ec:21::/48
2620:1ec:22::/48
Poznámka:
Další informace o povolených adresách najdete v tématu Povolené seznamy adres a síťová připojení.
Jak spustit agenta se samopodepsaným certifikátem?
Poznámka:
Spuštění agenta s vlastnoručně podepsaným certifikátem platí pouze pro Azure DevOps Server.
Spusťte agenta s certifikátem, který si podepsal sám
Jak spustit agenta za webovým proxy serverem?
Spusťte agenta za webovým proxy serverem
Jak znovu spustím agenta
Pokud agenta spouštíte interaktivně, přečtěte si pokyny k restartování v interaktivním spuštění. Pokud agenta spouštíte jako službu, restartujte ho podle kroků v části Spustit jako službu.
Jak nastavit různé proměnné prostředí pro každého agenta?
Vytvořte soubor .env
v kořenovém adresáři agenta a vložte proměnné prostředí, které chcete nastavit do souboru v následujícím formátu, a potom restartujte agenta.
MyEnv0=MyEnvValue0
MyEnv1=MyEnvValue1
MyEnv2=MyEnvValue2
MyEnv3=MyEnvValue3
MyEnv4=MyEnvValue4
Jak nakonfiguruji agenta tak, aby obešel webový proxy server a připojil se ke službě Azure Pipelines?
Pokud chcete, aby agent vynechal proxy server a připojil se přímo ke službě Azure Pipelines, měli byste nakonfigurovat webový proxy server tak, aby agent měl přístup k následujícím adresám URL.
Pro organizace používající doménu *.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
Pro organizace používající doménu 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
Pokud chcete zajistit, aby vaše organizace fungovala s existujícími omezeními brány firewall nebo IP adres, ujistěte se, že dev.azure.com
a *dev.azure.com
jsou otevřené a aktualizujte ip adresy uvedené v seznamu povolených tak, aby obsahovaly následující IP adresy na základě vaší verze IP adresy. Pokud momentálně zařazujete IP adresy 13.107.6.183
a 13.107.9.183
na seznam povolených, ponechte je tam, protože je nemusíte odebírat.
Rozsahy IPv4
13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
Rozsahy IPv6
2620:1ec:4::/48
2620:1ec:a92::/48
2620:1ec:21::/48
2620:1ec:22::/48
Poznámka:
Tento postup umožňuje agentu obejít webový proxy server. Sestavovací kanál a skripty musí stále zvládat vynechání webového proxy serveru pro každou úlohu a nástroj, které spouštíte v sestavení.
Pokud například používáte úlohu NuGet, musíte nakonfigurovat webový proxy server tak, aby podporoval obejití adresy URL serveru, který je hostitelem kanálu NuGet, který používáte.
Používám TFS a adresy URL v oddílech výše nefungují pro mě. Kde získám pomoc?
Používám místně TFS a některé z těchto funkcí nevidím. Proč ne?
Některé z těchto funkcí jsou dostupné jenom v Azure Pipelines a zatím nejsou dostupné místně. Některé funkce jsou dostupné místně, pokud jste upgradovali na nejnovější verzi TFS.
Co znamená umožnění SERVICE_SID_TYPE_UNRESTRICTED pro službu agenta?
Při konfiguraci softwaru agenta na Windows Serveru můžete zadat identifikátor zabezpečení služby z následující výzvy.
Enter enable SERVICE_SID_TYPE_UNRESTRICTED for agent service (Y/N) (press enter for N)
Předchozí verze softwaru agenta nastavily typ SERVICE_SID_TYPE_NONE
identifikátoru zabezpečení služby , což je výchozí hodnota pro aktuální verze agenta. Chcete-li nakonfigurovat typ identifikátoru služby zabezpečení na SERVICE_SID_TYPE_UNRESTRICTED
, stiskněte .Y
Další informace najdete ve struktuře SERVICE_SID_INFO a identifikátory zabezpečení.