Agenti macOS v místním prostředí (2.x)

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Důležité

Tento článek obsahuje pokyny k používání softwaru agenta verze 2.x se serverem Azure DevOps a sadou TFS. Pokud používáte Azure DevOps Services, podívejte se na agenty macOS v místním prostředí.

Pokud chcete sestavovat a nasazovat aplikace Xcode nebo projekty Xamarin.iOS, budete potřebovat aspoň jednoho agenta pro macOS. Tento agent může také sestavovat a nasazovat aplikace v Javě a Androidu.

Než začnete:

  • Pokud jsou vaše kanály v Azure Pipelines a agent hostovaný Microsoftem splňuje vaše potřeby, můžete přeskočit nastavení agenta macOS v místním prostředí.
  • V opačném případě jste přišli na správné místo pro nastavení agenta v systému macOS. Pokračujte k další části.

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:

  • macOS 10.15 "Catalina", macOS 11.0 "Big Sur" nebo macOS 12.0 "Monterey"
  • Git 2.9.0 nebo novější (důrazně doporučujeme nejnovější verzi – můžete snadno nainstalovat pomocí Homebrew)

Tyto předběžné dotazy jsou vyžadovány pro agenta verze 2.125.0 a vyšší.

TFVC

Pokud budete používat TFVC, budete potřebovat také sadu Oracle Java JDK 1.6 nebo vyšší. (Oracle JRE a OpenJDK pro tento účel nestačí.)

Modul plug-in TEE se používá pro funkce TFVC. Má smlouvu EULA, kterou budete muset přijmout během konfigurace, pokud plánujete pracovat s TFVC.

Vzhledem k tomu, že modul plug-in TEE už není udržovaný a obsahuje některé zastaralé závislosti Java, od agenta 2.198.0 už není součástí distribuce agenta. Modul plug-in TEE se ale stáhne během provádění úlohy rezervace, pokud si rezervovat úložiště TFVC. Modul plug-in TEE se po spuštění úlohy odebere.

Poznámka:

Poznámka: Vzhledem k tomuto mechanismu stahování si můžete všimnout, že úloha rezervace trvá dlouhou dobu.

Pokud je agent spuštěný za proxy serverem nebo bránou firewall, budete muset zajistit přístup k následující lokalitě: https://vstsagenttools.blob.core.windows.net/ Z této adresy se stáhne modul plug-in TEE.

Pokud používáte agenta v místním prostředí a dochází k problémům se stahováním TEE, můžete TEE nainstalovat ručně:

  1. Nastavte DISABLE_TEE_PLUGIN_REMOVAL prostředí nebo proměnnou kanálu na truehodnotu . Tato proměnná brání agentu v odebrání modulu plug-in TEE po rezervaci úložiště TFVC.
  2. Stáhněte si TEE-CLC verze 14.135.0 ručně z Team Exploreru všude na GitHubu.
  3. Extrahujte obsah TEE-CLC-14.135.0 složky do <agent_directory>/externals/teesložky .

Příprava oprávnění

Pokud vytváříte z úložiště Subversion, musíte na počítač nainstalovat klienta Subversion.

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.

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ů a 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é individuální použití agentů Pipelines, k provádění práce a rozhodnout, jaká jsou minimální oprávnění, která by mohla být udělena uživateli, na kterém běží agent, pro uživatele, kteří mají oprávnění 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áva istrátory možná budou muset prozkoumat systém souborů, aby porozuměli chybám sestavení nebo získali soubory protokolu, aby bylo možné 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í.

Ověřování pomocí tokenu PAT

  1. Přihlaste se pomocí uživatelského účtu, který plánujete použít na webovém portálu Azure DevOps Serveru (https://{your-server}/DefaultCollection/).
  1. Přihlaste se pomocí uživatelského účtu, který plánujete použít ve vaší organizaci Azure DevOps (https://dev.azure.com/{your_organization}).
  1. Na domovské stránce otevřete svůj profil. Přejděte na podrobnosti o zabezpečení.

    Přejděte na podrobnosti o zabezpečení.

  2. Vytvořte osobní přístupový token.

    Vytvořte osobní přístupový token.

    Poznámka:

    Pokud konfigurujete agenta skupiny nasazení nebo pokud se při registraci prostředku prostředí virtuálního počítače zobrazí chyba, musíte nastavit obor PAT na všechny přístupné organizace. Snímek obrazovky s nastavením oboru PAT pro všechny přístupné organizace

  1. Na domovské stránce otevřete nastavení uživatele a pak vyberte Osobní přístupové tokeny.

    Přejděte na podrobnosti o zabezpečení.

  2. Vytvořte osobní přístupový token.

    Vytvořte osobní přístupový token.

  1. Pro obor vyberte Fondy agentů (číst, spravovat) a ujistěte se, že jsou všechna ostatní pole nezaškrtnutá. Pokud se jedná o agenta skupiny nasazení, vyberte pro obor skupinu nasazení (čtení, správu) a ujistěte se, že jsou všechna ostatní pole nezaškrtnutá.

    Výběrem možnosti Zobrazit všechny obory v dolní části okna Pro vytvoření nového okna tokenu patu zobrazíte úplný seznam oborů.

  2. Zkopírujte token. Tento token použijete při konfiguraci agenta.

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:

  1. 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:

    1. Přihlaste se ke své organizaci (https://dev.azure.com/{yourorganization}).

    2. Zvolte Azure DevOps, nastavení organizace.

      Zvolte nastavení organizace.

    3. Zvolte fondy agentů.

      Zvolte kartu Fondy agentů.

    1. Přihlaste se ke své kolekci projektů (http://your-server/DefaultCollection).

    2. Zvolte Azure DevOps, nastavení kolekce.

      Zvolte nastavení kolekce.

    3. Zvolte fondy agentů.

      Zvolte fondy agentů.

    1. Zvolte Azure DevOps, nastavení kolekce.

      Nastavení kolekce, 2019.

    2. Zvolte fondy agentů.

      Zvolte fondy agentů, 2019.

  2. Vyberte fond na pravé straně stránky a potom klikněte na Zabezpečení.

  3. 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ě fronty agentů.

Stažení a konfigurace agenta

Azure Pipelines

  1. Přihlaste se k počítači pomocí účtu, pro který jste připravili oprávnění, jak je vysvětleno výše.

  2. Ve webovém prohlížeči se přihlaste ke službě Azure Pipelines a přejděte na kartu Fondy agentů:

    1. Přihlaste se ke své organizaci (https://dev.azure.com/{yourorganization}).

    2. Zvolte Azure DevOps, nastavení organizace.

      Zvolte nastavení organizace.

    3. Zvolte fondy agentů.

      Zvolte kartu Fondy agentů.

    1. Přihlaste se ke své kolekci projektů (http://your-server/DefaultCollection).

    2. Zvolte Azure DevOps, nastavení kolekce.

      Zvolte nastavení kolekce.

    3. Zvolte fondy agentů.

      Zvolte fondy agentů.

    1. Zvolte Azure DevOps, nastavení kolekce.

      Nastavení kolekce, 2019.

    2. Zvolte fondy agentů.

      Zvolte fondy agentů, 2019.

  3. Vyberte výchozí fond, vyberte kartu Agenti a zvolte Nový agent.

  4. V dialogovém okně Získat agenta klikněte na macOS.

  5. Klikněte na tlačítko Stáhnout .

  6. Postupujte podle pokynů na stránce.

  7. Vymažte rozšířený atribut souboru tar: xattr -c vsts-agent-osx-x64-V.v.v.tar.gz.

  8. Rozbalte agenta do libovolného adresáře. cd do daného adresáře a spusťte ./config.sh. Ujistěte se, že cesta k adresáři neobsahuje mezery, protože nástroje a skripty ne vždy správně řídicí mezery.

Azure DevOps Server 2019 a Azure DevOps Server 2020

  1. Přihlaste se k počítači pomocí účtu, pro který jste připravili oprávnění, jak je vysvětleno výše.

  2. Ve webovém prohlížeči se přihlaste k Azure DevOps Serveru a přejděte na kartu Fondy agentů:

    1. Přihlaste se ke své organizaci (https://dev.azure.com/{yourorganization}).

    2. Zvolte Azure DevOps, nastavení organizace.

      Zvolte nastavení organizace.

    3. Zvolte fondy agentů.

      Zvolte kartu Fondy agentů.

    1. Přihlaste se ke své kolekci projektů (http://your-server/DefaultCollection).

    2. Zvolte Azure DevOps, nastavení kolekce.

      Zvolte nastavení kolekce.

    3. Zvolte fondy agentů.

      Zvolte fondy agentů.

    1. Zvolte Azure DevOps, nastavení kolekce.

      Nastavení kolekce, 2019.

    2. Zvolte fondy agentů.

      Zvolte fondy agentů, 2019.

  3. Klikněte na Stáhnout agenta.

  4. V dialogovém okně Získat agenta klikněte na macOS.

  5. Klikněte na tlačítko Stáhnout .

  6. Postupujte podle pokynů na stránce.

  7. Vymažte rozšířený atribut souboru tar: xattr -c vsts-agent-osx-x64-V.v.v.tar.gz.

  8. Rozbalte agenta do libovolného adresáře. cd do daného adresáře a spusťte ./config.sh. Ujistěte se, že cesta k adresáři neobsahuje mezery, protože nástroje a skripty ne vždy správně řídicí mezery.

Adresa URL serveru

Azure Pipelines: https://dev.azure.com/{your-organization}

TFS 2018 a novější: https://{your_server}/tfs

Authentication type

Azure Pipelines

Zvolte PAT a vložte token PAT, který jste vytvořili , do okna příkazového řádku.

Poznámka:

Při použití pat jako metody ověřování se token PAT používá pouze pro počáteční konfiguraci agenta. Přečtěte si další informace o komunikaci se službou Azure Pipelines nebo TFS.

TFS nebo Azure DevOps Server

Důležité

Ujistěte se, že je server nakonfigurovaný tak, aby podporoval metodu ověřování, kterou chcete použít.

Když nakonfigurujete agenta pro připojení k TFS, máte následující možnosti:

  • Alternativní Připojení k TFS nebo Azure DevOps Serveru pomocí základního ověřování. Po výběru možnosti Alternativní se zobrazí výzva k zadání přihlašovacích údajů.

  • Integrované není podporováno v systému macOS nebo Linux.

  • Vyjednat (výchozí) Připojení k TFS nebo Azure DevOps Serveru jako uživatel 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ů.

  • Pat se podporuje jenom v Azure Pipelines a TFS 2017 a novějších. Po výběru pat vložte token PAT, který jste vytvořili , do okna příkazového řádku. Pokud váš Azure DevOps Server nebo instance TFS a počítač agenta není v důvěryhodné doméně, použijte token PAT. Ověřování PAT zpracovává váš Azure DevOps Server nebo instance TFS místo řadiče domény.

Poznámka:

Při použití pat jako metody ověřování se token PAT používá pouze pro počáteční konfiguraci agenta na Azure DevOps Serveru a novějších verzích TFS. Přečtěte si další informace o komunikaci se službou Azure Pipelines nebo TFS.

Interaktivní spuštění

Pokyny ke spuštění agenta v interaktivním režimu nebo jako službě najdete v tématu Agenti: Interactive vs.

Interaktivní spuštění agenta:

  1. Pokud jste agenta spustili jako službu, odinstalujte ji.

  2. Spusťte agenta.

    ./run.sh
    

Pokud chcete agenta restartovat, stiskněte Ctrl+C a spusťte ho a restartujte run.sh ho.

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.

Spustit jednou

Pro agenty nakonfigurované tak, aby běželi interaktivně, můžete se rozhodnout, že agent přijme jenom jednu úlohu. Spuštění v této konfiguraci:

./run.sh --once

Agenti v tomto režimu přijmou jenom jednu úlohu a pak se plynule zprovozní (užitečné pro spuštění ve službě, jako je Azure Container Instances).

Spustit jako spuštěnou službu

Poskytujeme skript, který vám umožní ./svc.sh spustit a spravovat agenta jako spuštěnou službu LaunchAgent. Tento skript se vygeneruje po konfiguraci agenta. Služba má přístup k uživatelskému rozhraní pro spouštění testů uživatelského rozhraní.

Poznámka:

Pokud dáváte přednost jiným přístupům, můžete použít jakýkoli druh mechanismu služby, který dáváte přednost. Viz Soubory služby.

Tokeny

V následující části jsou tyto tokeny nahrazeny:

  • {agent-name}

  • {tfs-name}

Například jste nakonfigurovali agenta (viz výše) s názvem our-osx-agent. V následujících příkladech {tfs-name} bude následující:

  • Azure Pipelines: název vaší organizace. Pokud se například připojíte, https://dev.azure.com/fabrikamnázev služby by byl vsts.agent.fabrikam.our-osx-agent

  • TFS: název místního serveru TFS AT. Pokud se například připojíte, http://our-server:8080/tfsnázev služby by byl vsts.agent.our-server.our-osx-agent

Příkazy

Změna do adresáře agenta

Pokud jste například nainstalovali podsložku myagent domovského adresáře:

cd ~/myagent$

Instalace

Příkaz:

./svc.sh install

Tento příkaz vytvoří spuštěný plist, který odkazuje na ./runsvc.sh. Tento skript nastaví prostředí (další podrobnosti níže) a spustí hostitele agenta.

Spustit

Příkaz:

./svc.sh start

Výstup:

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}

Levé číslo je pid, pokud je služba spuštěná. Pokud druhé číslo není nula, došlo k problému.

Stav

Příkaz:

./svc.sh status

Výstup:

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}

Levé číslo je pid, pokud je služba spuštěná. Pokud druhé číslo není nula, došlo k problému.

Zastavit

Příkaz:

./svc.sh stop

Výstup:

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

Odinstalace produktu

Před odinstalací byste měli přestat.

Příkaz:

./svc.sh uninstall

Automatické přihlášení a uzamčení

Za normálních okolností se služba agenta spustí až po přihlášení uživatele. Pokud chcete, aby se služba agenta automaticky spustila při restartování počítače, můžete počítač nakonfigurovat tak, aby se automaticky přihlásil a zamkl při spuštění. Viz Nastavení automatického přihlášení k Macu při spuštění – podpora Apple.

Poznámka:

Další informace najdete v blogu Terminally Geeky: Bezpečnější použití automatického přihlášení . Soubor .plist uvedený v tomto blogu již nemusí být k dispozici ve zdroji, ale kopii lze najít zde: Lifehacker - Make OS X načíst plochu předtím, než se přihlásíte.

Aktualizace proměnných prostředí

Když službu nakonfigurujete, pořídí snímek některých užitečných proměnných prostředí pro aktuálního přihlašovacího uživatele, jako je PATH, LANG, JAVA_HOME, ANT_HOME a MYSQL_PATH. Pokud potřebujete aktualizovat proměnné (například po instalaci nového softwaru):

./env.sh
./svc.sh stop
./svc.sh start

Snímek proměnných prostředí je uložený v souboru v .env kořenovém adresáři agenta. Tento soubor můžete také změnit přímo tak, aby se změny proměnných prostředí použily.

Před spuštěním služby spusťte pokyny.

Můžete také spustit vlastní pokyny a příkazy, které se spustí při spuštění služby. Můžete například nastavit prostředí nebo volat skripty.

  1. Upravit runsvc.sh.

  2. Nahraďte následující řádek pokyny:

    # insert anything to setup env when running as a service
    

Soubory služby

Při instalaci služby se nasadí některé soubory služby.

Soubor služby .plist

Vytvoří se soubor služby .plist:

~/Library/LaunchAgents/vsts.agent.{tfs-name}.{agent-name}.plist

Příklad:

~/Library/LaunchAgents/vsts.agent.fabrikam.our-osx-agent.plist

sudo ./svc.sh install vygeneruje tento soubor z této šablony: ./bin/vsts.agent.plist.template

Soubor .service

./svc.sh start Vyhledá službu čtením .service souboru, který obsahuje cestu k souboru služby plist popsaného výše.

Alternativní mechanismy služeb

Tento skript poskytujeme ./svc.sh pohodlný způsob, jak spustit a spravovat agenta jako spuštěnou službu LaunchAgent. Můžete ale použít jakýkoli druh mechanismu služby, který dáváte přednost.

Pomocí výše popsané šablony můžete usnadnit generování dalších typů souborů služby. Pokud například nepotřebujete testy uživatelského rozhraní a nechcete konfigurovat automatické přihlašování a zamknout, upravíte šablonu tak, aby vygenerovala službu, která se spouští jako proces démon spuštění. Podívejte se na knihovnu Apple Developer Library: Vytváření démonů a agentů pro spuštění.

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 opětovné konfigurace agenta

Odebrání agenta:

  1. Zastavte a odinstalujte službu, jak je vysvětleno výše.

  2. Odeberte agenta.

    ./config.sh remove
    
  3. Zadejte vaše pověření.

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 (Token pat) – PAT je jediné schéma, které funguje s Azure DevOps Services.
    • 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.
    • PAT je jediné schéma, které funguje s Azure DevOps Services.
  • Pokud jste zvolili --auth negotiate nebo --auth alt:
    • --userName <userName> – určuje uživatelské jméno systému Windows ve formátu domain\userName nebo userName@domain.com
    • --password <password> – určuje heslo.

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átu domain\userName nebo userName@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 jako SERVICE_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.sh --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.sh --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.

Nápověda k dalším možnostem

Další informace o dalších možnostech:

./config.sh --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

Návody se ujistěte, že mám nejnovější verzi agenta?

  1. Přejděte na kartu Fondy agentů:

    1. Přihlaste se ke své organizaci (https://dev.azure.com/{yourorganization}).

    2. Zvolte Azure DevOps, nastavení organizace.

      Zvolte nastavení organizace.

    3. Zvolte fondy agentů.

      Zvolte kartu Fondy agentů.

    1. Přihlaste se ke své kolekci projektů (http://your-server/DefaultCollection).

    2. Zvolte Azure DevOps, nastavení kolekce.

      Zvolte nastavení kolekce.

    3. Zvolte fondy agentů.

      Zvolte fondy agentů.

    1. Zvolte Azure DevOps, nastavení kolekce.

      Nastavení kolekce, 2019.

    2. Zvolte fondy agentů.

      Zvolte fondy agentů, 2019.

  2. Klikněte na fond, který obsahuje agenta.

  3. Ujistěte se, že je agent povolený.

  4. Přejděte na kartu schopností:

    1. Na kartě Fondy agentů vyberte požadovaný fond agentů.

      Ve fondech agentů vyberte požadovaný fond agentů.

    2. Vyberte Agenty a zvolte požadovaného agenta.

      Vyberte Agenty a zvolte agenta.

    3. Zvolte kartu Schopnosti.

      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.

    1. Na kartě Fondy agentů vyberte požadovaný fond.

      Vyberte požadovaný fond.

    2. Vyberte Agenty a zvolte požadovaného agenta.

      Vyberte Agenty a zvolte požadovaného agenta.

    3. Zvolte kartu Schopnosti.

      Karta Možnosti agenta

    1. Na kartě Fondy agentů vyberte požadovaný fond.

      Vyberte požadovanou kartu 2019.

    2. Vyberte Agenty a zvolte požadovaného agenta.

      Zvolte požadovaného agenta 2019.

    3. Zvolte kartu Schopnosti.

      Zvolte kartu Možnosti, 2019.

  5. 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.

  6. 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.

  1. 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.

  2. 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.

  1. 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.

Návody se ujistěte, že mám nejnovější verzi agenta v2?

  1. Přejděte na kartu Fondy agentů:

    1. Přihlaste se ke své organizaci (https://dev.azure.com/{yourorganization}).

    2. Zvolte Azure DevOps, nastavení organizace.

      Zvolte nastavení organizace.

    3. Zvolte fondy agentů.

      Zvolte kartu Fondy agentů.

    1. Přihlaste se ke své kolekci projektů (http://your-server/DefaultCollection).

    2. Zvolte Azure DevOps, nastavení kolekce.

      Zvolte nastavení kolekce.

    3. Zvolte fondy agentů.

      Zvolte fondy agentů.

    1. Zvolte Azure DevOps, nastavení kolekce.

      Nastavení kolekce, 2019.

    2. Zvolte fondy agentů.

      Zvolte fondy agentů, 2019.

  2. Klikněte na fond, který obsahuje agenta.

  3. Ujistěte se, že je agent povolený.

  4. Přejděte na kartu schopností:

    1. Na kartě Fondy agentů vyberte požadovaný fond agentů.

      Ve fondech agentů vyberte požadovaný fond agentů.

    2. Vyberte Agenty a zvolte požadovaného agenta.

      Vyberte Agenty a zvolte agenta.

    3. Zvolte kartu Schopnosti.

      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.

    1. Na kartě Fondy agentů vyberte požadovaný fond.

      Vyberte požadovaný fond.

    2. Vyberte Agenty a zvolte požadovaného agenta.

      Vyberte Agenty a zvolte požadovaného agenta.

    3. Zvolte kartu Schopnosti.

      Karta Možnosti agenta

    1. Na kartě Fondy agentů vyberte požadovaný fond.

      Vyberte požadovanou kartu 2019.

    2. Vyberte Agenty a zvolte požadovaného agenta.

      Zvolte požadovaného agenta 2019.

    3. Zvolte kartu Schopnosti.

      Zvolte kartu Možnosti, 2019.

  5. 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.

  6. 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 v2, 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.

  1. 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.

  2. 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.). Umístěte soubory agenta %ProgramData%\Microsoft\Azure DevOps\Agents do složky. Vytvořte složku Agenti, pokud není k dispozici.

  3. 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.

Kde se dozvím další informace o tom, jak spuštěná služba funguje?

Apple Developer Library: Vytváření démonů a agentů

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 služby Azure Management
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?

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, postupujte podle pokynů k zastavení a spuštění agenta.

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?

Nastavení a zabezpečení webu

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.