Agenti v místním prostředí – Windows
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 agenta 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 agent hostovaný 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 další informace o tom, co dělají a jak fungují, podívejte se na agenty Azure Pipelines.
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 novější)
Při prvním spuštění instalace agenta byste měli 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é. Jako referenci tým Azure DevOps sestaví kód hostovaných agentů pomocí kanálů, 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 nejvíce uživatelů, protože obsahují tajné kódy, které by mohly být dešifrovány nebo exfiltrovány.
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 spuštěná agenta 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 Fondy agentů pro vaši organizaci Azure Pipelines nebo Azure DevOps Server nebo server TFS:
Přihlaste se ke své organizaci (
https://dev.azure.com/{yourorganization}
).Zvolte Azure DevOps, nastavení organizace.
Zvolte fondy agentů.
Přihlaste se ke své kolekci projektů (
http://your-server/DefaultCollection
).Zvolte Azure DevOps, nastavení kolekce.
Zvolte fondy agentů.
Zvolte Azure DevOps, nastavení kolekce.
Zvolte fondy agentů.
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í, 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. Pravděpodobně jste postupovali podle výše uvedených kroků pro vlastníka organizace, TFS nebo správce Serveru Azure DevOps. 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.
Zvolte fondy agentů.
Přihlaste se ke své kolekci projektů (
http://your-server/DefaultCollection
).Zvolte Azure DevOps, nastavení kolekce.
Zvolte fondy agentů.
Zvolte Azure DevOps, nastavení kolekce.
Zvolte fondy agentů.
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 libovolného adresáře. Ujistěte se, že cesta k adresáři neobsahuje mezery, protože nástroje a skripty ne vždy správně řídicí 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žití prostředí 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 (tady jsou některé informace o něm) a v tomto případě nemůžeme zaručit, že instalační skript bude fungovat správně.
Instalace 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, odpověď https://dev.azure.com/{your-organization}
pro Azure DevOps Services.
Když instalační program požádá o adresu URL vašeho serveru, odpovězte https://{my-server}/{my-collection}
na Azure DevOps Server.
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 Možnost 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 Connect to TFS as a user other than the signed-in user via a Windows authentication scheme such as NTLM or 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: Interactive vs.
Pokud se rozhodnete spustit jako službu (což doporučujeme), uživatelské jméno, které spustíte, by mělo být 20 znaků nebo méně.
Spuštění agenta
Interaktivní spuštění
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 spusťte ho a restartujte run.cmd
ho.
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 PSModulePath
prostředí, která zahrnuje umístění modulu PowerShell Core z nadřazeného procesu.
Alternativním řešením je nastavit knob AZP_AGENT_CLEANUP_PSMODULES_IN_POWERSHELL
true
agenta 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í problém nevyřeší nebo pokud potřebujete použít vlastní umístění modulů, můžete proměnnou nastavit $Env:PSModulePath
podle potřeby v okně PowerShell Core před spuštěním agenta.
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 zprovozní (užitečné pro spuštění v Dockeru ve 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 spuštěného agenta můžete zobrazit a řídit z modulu snap-in služby. Spusťte services.msc
a vyhledejte jednu z těchto možností:
- Agent Azure Pipelines (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.
Pokud chcete použít svého agenta, spusťte úlohu pomocí fondu agenta. Pokud jste nevybrali jiný fond, váš agent bude ve výchozím fondu.
Nahrazení agenta
Pokud chcete nahradit agenta, postupujte podle pokynů ke stažení a konfiguraci kroků agenta znovu.
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
, ujistěte se, že agenta odeberete (viz níže), který nahrazujete. Jinak se po několika minutách konfliktů jeden z agentů vypne.
Odebrání a změna konfigurace agenta
Odebrání 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
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ým a předpřipraveným VSTS_AGENT_INPUT_
.
Například VSTS_AGENT_INPUT_PASSWORD
místo zadává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
(Instanční objekt) (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.- Jako parametr můžete také předat token
--token
OAuth 2.0.
- 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 instančního objektu s přístupem k registraci agentů.--tenantId <tenantID>
– určuje ID tenanta, ve kterém je instanční objekt zaregistrovaný.--clientSecret <clientSecret>
– určuje tajný klíč klienta instančního objektu.- Další informace najdete v tématu Registrace agenta pomocí instančního objektu .
Názvy fondů a agentů
--pool <pool>
– název fondu pro agenta, který se má připojit--agent <agent>
– název agenta--replace
- nahraďte agenta ve fondu. Pokud jiný agent naslouchá stejným názvem, začne selhává s konfliktem.
Nastavení agenta
--work <workDirectory>
– pracovní adresář, ve kterém jsou uložena data úlohy. Výchozí hodnota je_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 přihlašovacím heslem--runAsService
systému--runAsAutoLogon
Windows (nevyžaduje se pro účty spravované služby skupiny a předdefinované úč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--runAsAutoLogon
k přepsání existujícího automatického přihlášení na počítači.--noRestart
– používá se--runAsAutoLogon
k zastavení restartování hostitele po dokončení konfigurace agenta.
Řešení potíží s konfigurací agenta runAsAutoLogon
s možností
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
Pokud agenta neodebrali, odeberte ho z fondu agentů ruč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ý.
Spuštěním whoami /user
příkazu získejte .<sid>
Otevřete Registry Editor
a postupujte podle cesty:
Computer\HKEY_USERS\<sid>\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Zkontrolujte, jestli klíč neexistuje 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 cestě nad novou dvojicí 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 nasazení
--deploymentGroup
– nakonfigurujte agenta jako agenta skupiny nasazení.--deploymentGroupName <name>
– používá se--deploymentGroup
k určení skupiny nasazení, ke které se má agent připojit.--projectName <name>
– používá se--deploymentGroup
k nastavení názvu projektu.--addDeploymentGroupTags
– používá se--deploymentGroup
k označení, že by měly být přidány značky skupiny nasazení.--deploymentGroupTags <tags>
– používá se--addDeploymentGroupTags
k zadání čá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ředků prostředí.--virtualmachineresourcetags <tags>
– používá se--addvirtualmachineresourcetags
k určení čárkami odděleného seznamu značek pro agenta prostředků 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 místním agentem, můžete zkusit spustit diagnostiku. Po konfiguraci agenta:
.\run --diagnostics
Tím se projde diagnostická sada, která vám může pomoct s řešením tohoto problému. Funkce diagnostiky je dostupná od verze agenta 2.165.0.
Diagnostika sítě pro agenty v místním prostředí
Pokud chcete shromáždit další protokoly, které je možné použít při řešení potíží se sítí u agentů v místním prostředí, nastavte parametr Agent.Diagnostic
na hodnotu true
. 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.
Možnosti
Možnosti vašeho agenta se katalogují a inzerují ve fondu, aby se k němu přiřadily jenom buildy a vydané verze. 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 například sestavení obsahuje úlohu npm, sestavení se nespustí, pokud ve fondu není nainstalovaný agent sestavení.
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 v době, kdy je agent spuštěný, musí být restartován, aby se nové hodnoty vybraly. Po instalaci nového softwaru do agenta je nutné restartovat agenta, aby se nová funkce zobrazila ve fondu, aby bylo možné sestavení spustit.
Pokud chcete vyloučit proměnné prostředí jako možnosti, můžete je určit nastavením proměnné VSO_AGENT_IGNORE
prostředí 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 kanálu s názvem
System.PreferGitFromPath
vtrue
kanálech. - V agentech v místním prostředí můžete vytvořit soubor s názvem .env v kořenovém adresáři agenta a přidat
System.PreferGitFromPath=true
do souboru řádek. 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
Návody se ujistěte, že mám nejnovější verzi agenta?
Přejděte na kartu Fondy agentů:
Přihlaste se ke své organizaci (
https://dev.azure.com/{yourorganization}
).Zvolte Azure DevOps, nastavení organizace.
Zvolte fondy agentů.
Přihlaste se ke své kolekci projektů (
http://your-server/DefaultCollection
).Zvolte Azure DevOps, nastavení kolekce.
Zvolte fondy agentů.
Zvolte Azure DevOps, nastavení kolekce.
Zvolte fondy agentů.
Klikněte na fond, který obsahuje agenta.
Ujistěte se, že je agent povolený.
Přejděte na kartu schopností:
Na kartě Fondy 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 kartě Fondy agentů vyberte požadovaný fond.
Vyberte Agenty a zvolte požadovaného agenta.
Zvolte kartu Schopnosti.
Na kartě Fondy agentů vyberte požadovaný fond.
Vyberte Agenty a zvolte požadovaného agenta.
Zvolte kartu Schopnosti.
Agent.Version
Vyhledejte možnost. Tuto hodnotu můžete zkontrolovat u nejnovější publikované verze agenta. Podívejte se na agenta Azure Pipelines a podívejte se na 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 formuláři) ze stránky 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 Agenti, pokud není k dispozici.
- Všechno je 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.
Používám bránu firewall a kód je v 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.
Domain URL (Adresa URL domény) | Popis |
---|---|
https://{organization_name}.pkgs.visualstudio.com |
Rozhraní API pro balení Azure DevOps pro organizace používající {organization_name}.visualstudio.com doménu |
https://{organization_name}.visualstudio.com |
Pro organizace používající {organization_name}.visualstudio.com doménu |
https://{organization_name}.vsblob.visualstudio.com |
Telemetrie Azure DevOps pro organizace používající {organization_name}.visualstudio.com doménu |
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í {organization_name}.visualstudio.com doménu |
https://{organization_name}.vstmr.visualstudio.com |
Azure DevOps Test Management Services pro organizace používající {organization_name}.visualstudio.com doménu |
https://*.blob.core.windows.net |
Azure Artifacts |
https://*.dev.azure.com |
Pro organizace používající dev.azure.com doménu |
https://*.vsassets.io |
Azure Artifacts přes CDN |
https://*.vsblob.visualstudio.com |
Telemetrie Azure DevOps pro organizace používající dev.azure.com doménu |
https://*.vssps.visualstudio.com |
Azure DevOps Platform Services pro organizace používající dev.azure.com doménu |
https://*.vstmr.visualstudio.com |
Azure DevOps Test Management Services pro organizace používající dev.azure.com doménu |
https://app.vssps.visualstudio.com |
Pro organizace používající {organization_name}.visualstudio.com doménu |
https://dev.azure.com |
Pro organizace používající dev.azure.com doménu |
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 se všemi existujícími omezeními brány firewall nebo IP adresy, ujistěte se, že dev.azure.com
jsou otevřené a *dev.azure.com
aktualizujte ip adresy uvedené v seznamu povolených tak, aby obsahovaly následující IP adresy na základě vaší verze IP adresy. Pokud aktuálně seznam povolených 13.107.6.183
a 13.107.9.183
IP adres povolujete, ponechte je na místě, 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í.
Návody spustit agenta s certifikátem podepsaným svým držitelem?
Poznámka:
Spuštění agenta s certifikátem podepsaným svým držitelem platí jenom pro Azure DevOps Server.
Spuštění agenta s certifikátem podepsaným svým držitelem
Návody spustit agenta za webovým proxy serverem?
Spuštění agenta za webovým proxy serverem
Návody restartování 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.
Návody nastavit různé proměnné prostředí pro každého jednotlivého agenta?
Vytvořte soubor v kořenovém .env
adresáři agenta a vložte proměnné prostředí, které chcete nastavit do souboru v následujícím formátu, a restartujte agenta.
MyEnv0=MyEnvValue0
MyEnv1=MyEnvValue1
MyEnv2=MyEnvValue2
MyEnv3=MyEnvValue3
MyEnv4=MyEnvValue4
Návody nakonfigurovat 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í *.visualstudio.com
doménu:
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í dev.azure.com
doménu:
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 se všemi existujícími omezeními brány firewall nebo IP adresy, ujistěte se, že dev.azure.com
jsou otevřené a *dev.azure.com
aktualizujte ip adresy uvedené v seznamu povolených tak, aby obsahovaly následující IP adresy na základě vaší verze IP adresy. Pokud aktuálně seznam povolených 13.107.6.183
a 13.107.9.183
IP adres povolujete, ponechte je na místě, 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. Kanál buildu a skripty musí stále zpracovávat obejití 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 je povolení 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 v tématu SERVICE_SID_INFO struktury a identifikátory zabezpečení.