Agenti v místním prostředí – Linux

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 3.x se službou Azure DevOps Services. Pokud používáte Azure DevOps Server nebo TFS, podívejte se na agenty Linuxu v místním prostředí (agent verze 2.x).

Upozornění

Tento článek odkazuje na CentOS, linuxovou distribuci, která se blíží stavu Konec životnosti (EOL). Zvažte své použití a plánování odpovídajícím způsobem. Další informace najdete v doprovodných materiálech CentOS End Of Life.

Ke spuštění úloh potřebujete aspoň jednoho agenta. Agent pro Linux může sestavovat a nasazovat různé druhy aplikací, včetně aplikací v Javě a Androidu. Seznam podporovaných distribucí Linuxu najdete v části Kontrola požadavků .

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

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ů

Agent je založený na rozhraní .NET 6. Tento agent můžete spustit v několika distribucích Linuxu. Podporujeme následující podmnožinu podporovaných distribucí .NET 6:

  • Podporované distribuce
    • x64
      • CentOS 7, 8
      • Debian 10+
      • Fedora 36 a novější
      • openSUSE 15+
      • Red Hat Enterprise Linux 7+
        • Už nepotřebujete samostatný balíček.
      • SUSE Enterprise Linux 12 SP2 nebo novější
      • Ubuntu 22.04, 20.04, 18.04, 16.04
      • Azure Linux 2.0
    • ARM64
      • Debian 10+
      • Ubuntu 22.04, 20.04, 18.04
    • Alpine x64
  • Git – Bez ohledu na vaši platformu musíte nainstalovat Git 2.9.0 nebo novější. Důrazně doporučujeme nainstalovat nejnovější verzi Gitu.
  • .NET – Software agenta běží na platformě .NET 6, ale nainstaluje vlastní verzi .NET, takže neexistuje žádný požadavek .NET.
  • Subversion – Pokud vytváříte z úložiště Subversion, musíte na počítač nainstalovat klienta Subversion.
  • TFVC – Pokud vytváříte z úložiště TFVC, přečtěte si požadavky TFVC.

Poznámka:

Instalační program agenta ví, jak zkontrolovat další závislosti. Tyto závislosti můžete nainstalovat na podporované linuxové platformy spuštěním ./bin/installdependencies.sh v adresáři agenta.

Mějte na paměti, že některé z těchto závislostí vyžadovaných rozhraním .NET se načítají z webů třetích stran, například packages.efficios.com. installdependencies.sh Před spuštěním skriptu zkontrolujte skript a ujistěte se, že všechny odkazované weby třetích stran jsou přístupné z počítače s Linuxem.

Ujistěte se také, že jsou všechna požadovaná úložiště připojená k příslušnému správci balíčků používanému ve installdependencies.sh (napříkladapt).zypper

V případě problémů s instalací závislostí (například závislost nebyla nalezena v úložišti nebo při načítání souboru indexu úložiště) můžete kontaktovat vlastníka distribuce a požádat ho o další podporu.

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.

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á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í.

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ě fondu 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 předchozí části.

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

  5. V levém podokně vyberte konkrétní příchuť. Nabízíme x64 nebo ARM pro řadu distribucí Linuxu.

  6. V pravém podokně klikněte na tlačítko Stáhnout .

  7. Postupujte podle pokynů na stránce.

  8. Rozbalte agenta do libovolného adresáře. cd do daného adresáře a spusťte ./config.sh.

Adresa URL serveru

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

Authentication type

Při registraci agenta vyberte z následujících typů ověřování a instalační program agenta 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 sadě 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ů.

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 se umístí do výchozího 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řijímají 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 systémovou službu

Pokud je váš agent spuštěný v těchto operačních systémech, můžete agenta spustit jako systemd službu:

  • Ubuntu 16 LTS nebo novější
  • Red Hat 7.1 nebo novější

Poskytujeme ukázkový ./svc.sh skript pro spuštění a správu agenta jako systemd služby. Tento skript se vygeneruje po konfiguraci agenta. Doporučujeme, abyste skript před spuštěním zkontrolovali a v případě potřeby ho aktualizovali.

Některé důležité upozornění:

  • Pokud agenta spustíte jako službu, nemůžete ji spustit jako root uživatele.
  • Uživatelé se systémem SELinux nahlásili potíže se zadaným svc.sh skriptem. Jako výchozí bod se podívejte na tento problém s agentem. SELinux není oficiálně podporovaná konfigurace.

Poznámka:

Pokud máte jinou distribuci nebo 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.

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:

sudo ./svc.sh install [username]

Tento příkaz vytvoří soubor služby, který odkazuje na ./runsvc.sh. Tento skript nastaví prostředí (další podrobnosti níže) a spustí hostitele agentů. Pokud username parametr není zadaný, uživatelské jméno se přebírá z proměnné prostředí $SUDO_USER nastavené příkazem sudo. Tato proměnná se vždy rovná jménu uživatele, který příkaz vyvolal sudo .

Spustit

sudo ./svc.sh start

Stav

sudo ./svc.sh status

Zastavit

sudo ./svc.sh stop

Odinstalace produktu

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

sudo ./svc.sh uninstall

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
sudo ./svc.sh stop
sudo ./svc.sh start

Snímek proměnných prostředí je uložený v .env souboru (PATH je uložen v ) v .pathkořenovém adresáři agenta. Tyto soubory 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žeb

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

systémový soubor služby

Vytvoří se systemd soubor služby:

/etc/systemd/system/vsts.agent.{tfs-name}.{agent-name}.service

Například jste nakonfigurovali agenta (viz výše) s názvem our-linux-agent. Soubor služby 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 /etc/systemd/system/vsts.agent.fabrikam.our-linux-agent.service

  • TFS nebo Azure DevOps Server: název místního serveru. Pokud se například připojíte, http://our-server:8080/tfsnázev služby by byl /etc/systemd/system/vsts.agent.our-server.our-linux-agent.service

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

Soubor .service

sudo ./svc.sh start vyhledá službu čtením .service souboru, který obsahuje název souboru systémové služby popsaného výše.

Alternativní mechanismy služeb

Tento skript poskytujeme ./svc.sh pohodlný způsob, jak spustit a spravovat agenta jako systémovou službu. Můžete ale použít jakýkoli druh mechanismu služby, který dáváte přednost (například inicializaci nebo upstart).

Pomocí výše popsané šablony můžete usnadnit generování dalších typů souborů služby.

Použití cgroup k zabránění selhání agenta

Je důležité se vyhnout situacím, kdy agent selže nebo se stane nepoužitelným, protože jinak agent nemůže streamovat protokoly kanálu nebo hlásit stav kanálu zpět na server. Můžete zmírnit riziko tohoto druhu problému způsobené vysokým zatížením paměti použitím cgroups a nižším oom_score_adj. Jakmile to uděláte, Linux uvolní systémovou paměť z procesů úloh kanálu před uvolněním paměti z procesu agenta. Zjistěte, jak nakonfigurovat skóre OOM a jak ho nakonfigurovatcgroups.

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:

  1. Zastavte a odinstalujte službu, jak je vysvětleno v předchozí části.

  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.
    • alt (Základní ověřování)

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

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.

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

Kde najdu další informace o novém softwaru agenta v3?

Informace a nejčastější dotazy k softwaru agenta v3 naleznete v tématu Software agent verze 3.

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.

Proč je ke spuštění příkazů služby potřeba sudo?

./svc.sh používá systemctl, který vyžaduje sudo.

Zdrojový kód: systemd.svc.sh.template na GitHubu

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?

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 systémovou 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.

Požadavky 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 musíte 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, musíte 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 .