Właśni agenci dla systemu Linux

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Ten artykuł zawiera wskazówki dotyczące korzystania z oprogramowania agenta 3.x z usługami Azure DevOps Services i bieżącymi wersjami usługi Azure DevOps Server. Aby uzyskać listę wersji serwera Azure DevOps Server, które obsługują agenta 3.x, zobacz Czy usługa Azure DevOps Server obsługuje agenta 3.x.

Uwaga

W tym artykule odwołuje się do systemu CentOS — dystrybucji systemu Linux, która zbliża się do stanu zakończenia życia (EOL). Rozważ odpowiednie użycie i planowanie. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące zakończenia życia systemu CentOS.

Do uruchamiania zadań potrzebny jest co najmniej jeden agent. Agent systemu Linux może tworzyć i wdrażać różne rodzaje aplikacji, w tym aplikacje Java i Android. Zobacz Sprawdzanie wymagań wstępnych , aby uzyskać listę obsługiwanych dystrybucji systemu Linux.

Uwaga

W tym artykule opisano sposób konfigurowania własnego agenta. Jeśli używasz usług Azure DevOps Services i agenta hostowanego przez firmę Microsoft, możesz pominąć konfigurowanie własnego agenta systemu Linux.

Dowiedz się więcej o agentach

Jeśli już wiesz, czym jest agent i jak działa, możesz przejść bezpośrednio do poniższych sekcji. Jeśli jednak chcesz uzyskać więcej informacji o tym, co robią i jak działają, zobacz Agenci usługi Azure Pipelines.

Sprawdzanie wymagań wstępnych

Agent jest oparty na platformie .NET 6. Ten agent można uruchomić w kilku dystrybucjach systemu Linux. Obsługujemy następujący podzestaw obsługiwanych dystrybucji platformy .NET 6:

  • Obsługiwane dystrybucje
    • x64
      • CentOS 7, 8
      • Debian 10+
      • Fedora 36+
      • openSUSE 15+
      • Red Hat Enterprise Linux 7+
        • Nie wymaga już oddzielnego pakietu
      • SUSE Enterprise Linux 12 z dodatkiem SP2 lub nowszym
      • Ubuntu 22.04, 20.04, 18.04, 16.04
      • Azure Linux 2.0
      • Oracle Linux 7 i nowsze
    • ARM64
      • Debian 10+
      • Ubuntu 22.04, 20.04, 18.04
    • Alpine x64
  • Git — niezależnie od platformy musisz zainstalować usługę Git 2.9.0 lub nowszą. Zdecydowanie zalecamy zainstalowanie najnowszej wersji narzędzia Git.
  • .NET — oprogramowanie agenta działa na platformie .NET 6, ale instaluje własną wersję platformy .NET, więc nie ma wymagań wstępnych platformy .NET.
  • Subversion — jeśli tworzysz z repozytorium Subversion , musisz zainstalować klienta Subversion na maszynie.
  • TFVC — jeśli tworzysz z repozytorium TFVC, zobacz Wymagania wstępne kontroli wersji serwera TEAMVC.

Uwaga

Instalator agenta wie, jak sprawdzić inne zależności. Te zależności można zainstalować na obsługiwanych platformach systemu Linux, uruchamiając polecenie ./bin/installdependencies.sh w katalogu agenta.

Należy pamiętać, że niektóre z tych zależności wymaganych przez platformę .NET są pobierane z witryn innych firm, takich jak packages.efficios.com. installdependencies.sh Przejrzyj skrypt i upewnij się, że wszystkie witryny innych firm, do których odwołuje się odwołanie, są dostępne z komputera z systemem Linux przed uruchomieniem skryptu.

Upewnij się również, że wszystkie wymagane repozytoria są połączone z odpowiednim menedżerem pakietów używanym w installdependencies.sh programie (na przykład apt lub zypper).

W przypadku problemów z instalacją zależności (na przykład "zależność nie została znaleziona w repozytorium" lub "problem z pobieraniem pliku indeksu repozytorium") — możesz skontaktować się z właścicielem dystrybucji, aby uzyskać dalszą pomoc techniczną.

Należy uruchomić instalatora agenta ręcznie po raz pierwszy. Po zapoznaniu się z działaniem agentów lub zautomatyzowaniu konfigurowania wielu agentów rozważ użycie nienadzorowanej konfiguracji.

Przygotowywanie uprawnień

Zabezpieczenia informacji dla własnych agentów

Użytkownik konfigurując agenta wymaga uprawnień administratora puli, ale użytkownik z uruchomionym agentem nie.

Foldery kontrolowane przez agenta powinny być ograniczone do jak najmniejszej liczby użytkowników, ponieważ zawierają wpisy tajne, które można odszyfrować lub eksfiltrować.

Agent usługi Azure Pipelines to oprogramowanie przeznaczone do wykonywania kodu pobieranego ze źródeł zewnętrznych. Z założenia może to być element docelowy ataków zdalnego wykonywania kodu (RCE).

Dlatego ważne jest, aby rozważyć model zagrożeń wokół każdego indywidualnego użycia agentów pipelines do wykonania pracy i zdecydować, jakie są minimalne uprawnienia, które mogą zostać przyznane użytkownikowi uruchamiającemu agenta, na maszynie, na której działa agent, do użytkowników, którzy mają dostęp do zapisu do definicji potoku, repozytoriów git, w których jest przechowywany yaml, lub grupy użytkowników, którzy kontrolują dostęp do puli dla nowych potoków.

Najlepszym rozwiązaniem jest, aby tożsamość uruchomiona przez agenta różniła się od tożsamości z uprawnieniami do łączenia agenta z pulą. Użytkownik generujący poświadczenia (i inne pliki związane z agentem) różni się od użytkownika, który musi je odczytać. Dlatego bezpieczniej jest dokładnie rozważyć dostęp przyznany samej maszynie agenta oraz foldery agentów zawierające poufne pliki, takie jak dzienniki i artefakty.

Warto udzielić dostępu do folderu agenta tylko administratorom devOps i tożsamości użytkownika uruchamiającego proces agenta. Administracja istratory mogą wymagać zbadania systemu plików, aby zrozumieć błędy kompilacji lub pobrać pliki dziennika, aby móc zgłaszać błędy usługi Azure DevOps.

Zdecyduj, którego użytkownika użyjesz

W ramach jednorazowego kroku należy zarejestrować agenta. Osoba z uprawnieniami do administrowania kolejką agentów musi wykonać te kroki. Agent nie będzie używać poświadczeń tej osoby w codziennej operacji, ale jest on wymagany do ukończenia rejestracji. Dowiedz się więcej o tym, jak agenci komunikują się.

Potwierdzanie, że użytkownik ma uprawnienia

Upewnij się, że konto użytkownika, którego zamierzasz użyć, ma uprawnienia do rejestrowania agenta.

Czy użytkownik jest właścicielem organizacji usługi Azure DevOps, serwerem TFS, czy administratorem usługi Azure DevOps Server? Zatrzymaj się tutaj, masz uprawnienia.

W przeciwnym razie:

  1. Otwórz przeglądarkę i przejdź do karty Pule agentów dla organizacji usługi Azure Pipelines lub serwera Azure DevOps Server lub SERWERA TFS:

    1. Zaloguj się do organizacji (https://dev.azure.com/{yourorganization}).

    2. Wybierz pozycję Azure DevOps, Ustawienia organizacji.

      Wybierz pozycję Ustawienia organizacji.

    3. Wybierz pozycję Pule agentów.

      Wybierz kartę Pule agentów.

    1. Zaloguj się do kolekcji projektów (http://your-server/DefaultCollection).

    2. Wybierz pozycję Azure DevOps, Ustawienia kolekcji.

      Wybierz pozycję Ustawienia kolekcji.

    3. Wybierz pozycję Pule agentów.

      Wybierz pozycję Pule agentów.

    1. Wybierz pozycję Azure DevOps, Ustawienia kolekcji.

      Ustawienia kolekcji, 2019.

    2. Wybierz pozycję Pule agentów.

      Wybierz pozycję Pule agentów, 2019.

  2. Wybierz pulę po prawej stronie, a następnie kliknij pozycję Zabezpieczenia.

  3. Jeśli konto użytkownika, którego zamierzasz użyć, nie jest wyświetlane, pobierz administratora, aby go dodać. Administrator może być administratorem puli agentów, właścicielem organizacji usługi Azure DevOps lub administratorem serwera TFS lub Azure DevOps Server.

    Jeśli jest to agent grupy wdrożeń, administrator może być administratorem grupy wdrażania, właścicielem organizacji usługi Azure DevOps lub administratorem serwera TFS lub Azure DevOps Server.

    Możesz dodać użytkownika do roli administratora grupy wdrażania na karcie Zabezpieczenia na stronie Grupy wdrożeń w usłudze Azure Pipelines.

Uwaga

Jeśli zostanie wyświetlony komunikat podobny do następującego: Niestety, nie można dodać tożsamości. Spróbuj użyć innej tożsamości. Prawdopodobnie wykonano powyższe kroki dla właściciela organizacji lub administratora serwera TFS lub Azure DevOps Server. Nie musisz nic robić; Masz już uprawnienia do administrowania pulą agentów.

Pobieranie i konfigurowanie agenta

Azure Pipelines

  1. Zaloguj się na maszynie przy użyciu konta, dla którego przygotowano uprawnienia zgodnie z wyjaśnieniem w poprzedniej sekcji.

  2. W przeglądarce internetowej zaloguj się do usługi Azure Pipelines i przejdź do karty Pule agentów :

    1. Zaloguj się do organizacji (https://dev.azure.com/{yourorganization}).

    2. Wybierz pozycję Azure DevOps, Ustawienia organizacji.

      Wybierz pozycję Ustawienia organizacji.

    3. Wybierz pozycję Pule agentów.

      Wybierz kartę Pule agentów.

    1. Zaloguj się do kolekcji projektów (http://your-server/DefaultCollection).

    2. Wybierz pozycję Azure DevOps, Ustawienia kolekcji.

      Wybierz pozycję Ustawienia kolekcji.

    3. Wybierz pozycję Pule agentów.

      Wybierz pozycję Pule agentów.

    1. Wybierz pozycję Azure DevOps, Ustawienia kolekcji.

      Ustawienia kolekcji, 2019.

    2. Wybierz pozycję Pule agentów.

      Wybierz pozycję Pule agentów, 2019.

  3. Wybierz pulę Domyślną, wybierz kartę Agenci, a następnie wybierz pozycję Nowy agent.

  4. W oknie dialogowym Pobieranie agenta kliknij pozycję Linux.

  5. W okienku po lewej stronie wybierz konkretny smak. Oferujemy architekturę x64 lub ARM dla wielu dystrybucji systemu Linux.

  6. W okienku po prawej stronie kliknij przycisk Pobierz .

  7. Postępuj zgodnie z instrukcjami na stronie.

  8. Rozpakuj agenta do wybranego katalogu. cd w tym katalogu i uruchom polecenie ./config.sh.

Adres URL serwera

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

Authentication type

Podczas rejestrowania agenta wybierz spośród następujących typów uwierzytelniania, a instalator agenta monituje o podanie dodatkowych informacji wymaganych dla każdego typu uwierzytelniania. Aby uzyskać więcej informacji, zobacz Opcje uwierzytelniania własnego agenta.

  • Osobisty token dostępu
  • Alternatywne Połączenie do serwera Usługi Azure DevOps lub serwera TFS przy użyciu uwierzytelniania podstawowego. Po wybraniu pozycji Alternatywne zostanie wyświetlony monit o podanie poświadczeń.

Uruchamianie interakcyjne

Aby uzyskać wskazówki dotyczące uruchamiania agenta w trybie interaktywnym lub jako usługa, zobacz Agenci: interakcyjna a usługa.

Aby uruchomić agenta interaktywnie:

  1. Jeśli używasz agenta jako usługi, odinstaluj usługę.

  2. Uruchom agenta.

    ./run.sh
    

Aby ponownie uruchomić agenta, naciśnij klawisze Ctrl+C, a następnie uruchom polecenie run.sh , aby go ponownie uruchomić.

Aby użyć agenta, uruchom zadanie przy użyciu puli agenta. Jeśli nie wybrano innej puli, agent zostanie umieszczony w puli Domyślne .

Uruchom raz

W przypadku agentów skonfigurowanych do interaktywnego uruchamiania można wybrać, że agent akceptuje tylko jedno zadanie. Aby uruchomić polecenie w tej konfiguracji:

./run.sh --once

Agenci w tym trybie akceptują tylko jedno zadanie, a następnie bezproblemowo obracają się (przydatne do uruchamiania na platformie Docker w usłudze, takiej jak Azure Container Instances).

Uruchamianie jako usługa systemowa

Jeśli agent jest uruchomiony w tych systemach operacyjnych, możesz uruchomić agenta jako usługę systemd :

  • Ubuntu 16 LTS lub nowszy
  • Red Hat 7.1 lub nowszy

Udostępniamy przykładowy ./svc.sh skrypt umożliwiający uruchamianie agenta jako usługi i zarządzanie nim systemd . Ten skrypt zostanie wygenerowany po skonfigurowaniu agenta. Zachęcamy do przejrzenia i w razie potrzeby zaktualizowania skryptu przed jego uruchomieniem.

Niektóre ważne zastrzeżenia:

  • Jeśli uruchamiasz agenta jako usługę, nie możesz uruchomić usługi agenta jako root użytkownik.
  • Użytkownicy z uruchomionym programem SELinux zgłaszali problemy z podanym svc.sh skryptem. Zapoznaj się z tym problemem z agentem jako punktem wyjścia. SeLinux nie jest oficjalnie obsługiwaną konfiguracją.

Uwaga

Jeśli masz inną dystrybucję lub wolisz inne podejścia, możesz użyć dowolnego preferowanego mechanizmu usług. Zobacz Pliki usługi.

Polecenia

Przejdź do katalogu agenta

Jeśli na przykład zainstalowano w myagent podfolderze katalogu macierzystego:

cd ~/myagent$

Instalowanie

Polecenie:

sudo ./svc.sh install [username]

To polecenie tworzy plik usługi wskazujący element ./runsvc.sh. Ten skrypt konfiguruje środowisko (więcej szczegółów poniżej) i uruchamia hosta agentów. Jeśli username parametr nie zostanie określony, nazwa użytkownika zostanie pobrana z zmiennej środowiskowej $SUDO_USER ustawionej przez polecenie sudo. Ta zmienna jest zawsze równa nazwie użytkownika, który wywołał sudo polecenie.

Rozpocznij

sudo ./svc.sh start

Stan

sudo ./svc.sh status

Zatrzymaj

sudo ./svc.sh stop

Odinstaluj program

Należy zatrzymać przed odinstalowaniem.

sudo ./svc.sh uninstall

Aktualizacja zmiennych środowiskowych

Podczas konfigurowania usługi tworzy migawkę niektórych przydatnych zmiennych środowiskowych dla bieżącego użytkownika logowania, takich jak PATH, LANG, JAVA_HOME, ANT_HOME i MYSQL_PATH. Jeśli musisz zaktualizować zmienne (na przykład po zainstalowaniu nowego oprogramowania):

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

Migawka zmiennych środowiskowych jest przechowywana w .env pliku (PATH jest przechowywana w folderze ) w .pathkatalogu głównym agenta, można również zmienić te pliki bezpośrednio, aby zastosować zmiany zmiennych środowiskowych.

Uruchamianie instrukcji przed uruchomieniem usługi

Możesz również uruchomić własne instrukcje i polecenia, aby uruchomić je po uruchomieniu usługi. Można na przykład skonfigurować środowisko lub wywołać skrypty.

  1. Edytuj runsvc.shplik .

  2. Zastąp następujący wiersz instrukcjami:

    # insert anything to setup env when running as a service
    

Pliki usługi

Podczas instalowania usługi niektóre pliki usługi są umieszczane.

plik usługi systemd

Zostanie systemd utworzony plik usługi:

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

Na przykład skonfigurowano agenta (zobacz powyżej) o nazwie our-linux-agent. Plik usługi będzie:

  • Azure Pipelines: nazwa organizacji. Jeśli na przykład połączysz się z https://dev.azure.com/fabrikamusługą , nazwa usługi będzie miała wartość /etc/systemd/system/vsts.agent.fabrikam.our-linux-agent.service

  • TFS lub Azure DevOps Server: nazwa serwera lokalnego. Jeśli na przykład połączysz się z http://our-server:8080/tfsusługą , nazwa usługi będzie miała wartość /etc/systemd/system/vsts.agent.our-server.our-linux-agent.service

sudo ./svc.sh install generuje ten plik na podstawie tego szablonu: ./bin/vsts.agent.service.template

Plik .service

sudo ./svc.sh start znajduje usługę .service , odczytując plik, który zawiera nazwę systemowego pliku usługi opisanego powyżej.

Alternatywne mechanizmy usług

Udostępniamy ./svc.sh skrypt jako wygodny sposób uruchamiania agenta jako usługi systemowej i zarządzania nim. Możesz jednak użyć dowolnego preferowanego mechanizmu usługi (na przykład: initd lub upstart).

Możesz użyć opisanego powyżej szablonu, aby ułatwić generowanie innych rodzajów plików usługi.

Użyj grupy cgroup, aby uniknąć awarii agenta

Należy unikać sytuacji, w których agent ulegnie awarii lub stanie się bezużyteczny, ponieważ w przeciwnym razie agent nie może przesyłać strumieniowo dzienników potoku ani zgłaszać stanu potoku z powrotem do serwera. Można zmniejszyć ryzyko wystąpienia tego rodzaju problemu spowodowanego wysokim użyciem pamięci przy użyciu i cgroups niższym oom_score_adj. Po wykonaniu tej czynności system Linux odzyskuje pamięć systemowa z procesów zadań potoku przed odzyskaniem pamięci z procesu agenta. Dowiedz się, jak skonfigurować cgroups i uzyskać ocenę OOM.

Zastępowanie agenta

Aby zastąpić agenta, wykonaj ponownie kroki pobierania i konfigurowania agenta .

Podczas konfigurowania agenta przy użyciu takiej samej nazwy jak agent, który już istnieje, zostanie wyświetlony monit o zastąpienie istniejącego agenta. Jeśli odpowiesz na Yadres , upewnij się, że usunięto agenta (patrz poniżej), który zastępujesz. W przeciwnym razie po kilku minutach konfliktów jeden z agentów zostanie zamknięty.

Usuwanie i ponowne konfigurowanie agenta

Aby usunąć agenta:

  1. Zatrzymaj i odinstaluj usługę zgodnie z wyjaśnieniem w poprzedniej sekcji.

  2. Usuń agenta.

    ./config.sh remove
    
  3. Wprowadź poświadczenia.

Po usunięciu agenta można go ponownie skonfigurować.

Konfiguracja nienadzorowana

Agenta można skonfigurować na podstawie skryptu bez interwencji człowieka. Musisz przekazać --unattended odpowiedzi na wszystkie pytania.

Aby skonfigurować agenta, musi on znać adres URL organizacji lub kolekcji i poświadczeń osoby upoważnionej do konfigurowania agentów. Wszystkie inne odpowiedzi są opcjonalne. Zamiast tego można określić dowolny parametr wiersza polecenia przy użyciu zmiennej środowiskowej: umieść jej nazwę w górnej litery i wstępnie wstaw VSTS_AGENT_INPUT_wartość . Na przykład VSTS_AGENT_INPUT_PASSWORD zamiast określać --passwordwartość .

Wymagane opcje

  • --unattended — Instalator agenta nie wyświetli monitu o podanie informacji, a wszystkie ustawienia muszą być podane w wierszu polecenia
  • --url <url> — adres URL serwera. Na przykład: https://dev.azure.com/myorganization lub http://my-azure-devops-server:8080/tfs
  • --auth <type> — typ uwierzytelniania. Prawidłowe wartości to:
    • pat (Osobisty token dostępu) — pat jest jedynym schematem, który współpracuje z usługami Azure DevOps Services.
    • alt (Uwierzytelnianie podstawowe)

Opcje uwierzytelniania

  • W przypadku wybrania opcji --auth pat:
    • --token <token> - określa osobisty token dostępu
    • Pat to jedyny schemat, który współpracuje z usługami Azure DevOps Services.
  • W przypadku wybrania --auth negotiate opcji lub --auth alt:
    • --userName <userName> - określa nazwę użytkownika
    • --password <password> - określa hasło

Nazwy puli i agentów

  • --pool <pool> - nazwa puli dla agenta do przyłączenia
  • --agent <agent> - nazwa agenta
  • --replace — zastąp agenta w puli. Jeśli inny agent nasłuchuje o tej samej nazwie, rozpocznie się niepowodzenie z powodu konfliktu

Konfiguracja agenta

  • --work <workDirectory> — katalog służbowy, w którym są przechowywane dane zadania. Wartość domyślna to _work w katalogu głównym katalogu agenta. Katalog roboczy jest własnością danego agenta i nie powinien być współużytkowany między wieloma agentami.
  • --acceptTeeEula — zaakceptuj umowę licencyjną użytkownika oprogramowania Team Explorer Everywhere (tylko system macOS i Linux)
  • --disableloguploads — nie przesyłaj strumieniowo ani nie wysyłaj danych wyjściowych dziennika konsoli do serwera. Zamiast tego można pobrać je z systemu plików hosta agenta po zakończeniu zadania.

Tylko grupa wdrożeń

  • --deploymentGroup — konfigurowanie agenta jako agenta grupy wdrożeń
  • --deploymentGroupName <name> — służy --deploymentGroup do określania grupy wdrożenia agenta do dołączenia
  • --projectName <name> — służy --deploymentGroup do ustawiania nazwy projektu
  • --addDeploymentGroupTags — służy --deploymentGroup do wskazywania, że należy dodać tagi grupy wdrożenia
  • --deploymentGroupTags <tags> — służy --addDeploymentGroupTags do określania rozdzielanej przecinkami listy tagów dla agenta grupy wdrożenia — na przykład "web, db"

Tylko środowiska

  • --addvirtualmachineresourcetags — służy do wskazywania, że należy dodać tagi zasobów środowiska
  • --virtualmachineresourcetags <tags> — służy --addvirtualmachineresourcetags do określania rozdzielanej przecinkami listy tagów dla agenta zasobów środowiska — na przykład "web, db"

./config.sh --help zawsze wyświetla listę najnowszych wymaganych i opcjonalnych odpowiedzi.

Diagnostyka

Jeśli masz problemy z własnym agentem, możesz spróbować uruchomić diagnostykę. Po skonfigurowaniu agenta:

./run.sh --diagnostics

Spowoduje to uruchomienie pakietu diagnostycznego, który może pomóc w rozwiązaniu problemu. Funkcja diagnostyki jest dostępna od wersji 2.165.0 agenta.

Diagnostyka sieci dla własnych agentów

Dla elementu Agent.Diagnostic ustaw wartość true, aby zebrać dodatkowe dzienniki, których można użyć do rozwiązywania problemów z siecią w przypadku własnych agentów. Aby uzyskać więcej informacji, zobacz Diagnostyka sieci dla własnych agentów.

Pomoc dotycząca innych opcji

Aby dowiedzieć się więcej o innych opcjach:

./config.sh --help

Pomoc zawiera informacje na temat alternatyw uwierzytelniania i konfiguracji nienadzorowanej.

Możliwości

Możliwości agenta są katalogowane i anonsowane w puli, dzięki czemu przypisane są tylko kompilacje i wydania, które może obsłużyć. Zobacz Możliwości agenta kompilacji i wydania.

W wielu przypadkach po wdrożeniu agenta należy zainstalować oprogramowanie lub narzędzia. Ogólnie rzecz biorąc, należy zainstalować na agentach niezależnie od oprogramowania i narzędzi używanych na komputerze deweloperskim.

Jeśli na przykład kompilacja zawiera zadanie npm, kompilacja nie zostanie uruchomiona, chyba że w puli jest zainstalowany agent kompilacji.

Ważne

Możliwości obejmują wszystkie zmienne środowiskowe i wartości ustawione podczas uruchamiania agenta. Jeśli którakolwiek z tych wartości zmieni się podczas działania agenta, należy ponownie uruchomić agenta, aby pobrać nowe wartości. Po zainstalowaniu nowego oprogramowania na agencie należy ponownie uruchomić agenta, aby nowe możliwości pojawiły się w puli, aby można było uruchomić kompilację.

Jeśli chcesz wykluczyć zmienne środowiskowe jako możliwości, możesz je wyznaczyć, ustawiając zmienną VSO_AGENT_IGNORE środowiskową z rozdzielaną przecinkami listę zmiennych do ignorowania.

Często zadawane pytania

Gdzie mogę dowiedzieć się więcej o nowym oprogramowaniu agenta w wersji 3?

Aby uzyskać informacje i często zadawane pytania dotyczące oprogramowania agenta w wersji 3, zobacz Oprogramowanie agenta w wersji 3.

Jak mogę upewnić się, że mam najnowszą wersję agenta?

  1. Przejdź do karty Pule agentów :

    1. Zaloguj się do organizacji (https://dev.azure.com/{yourorganization}).

    2. Wybierz pozycję Azure DevOps, Ustawienia organizacji.

      Wybierz pozycję Ustawienia organizacji.

    3. Wybierz pozycję Pule agentów.

      Wybierz kartę Pule agentów.

    1. Zaloguj się do kolekcji projektów (http://your-server/DefaultCollection).

    2. Wybierz pozycję Azure DevOps, Ustawienia kolekcji.

      Wybierz pozycję Ustawienia kolekcji.

    3. Wybierz pozycję Pule agentów.

      Wybierz pozycję Pule agentów.

    1. Wybierz pozycję Azure DevOps, Ustawienia kolekcji.

      Ustawienia kolekcji, 2019.

    2. Wybierz pozycję Pule agentów.

      Wybierz pozycję Pule agentów, 2019.

  2. Kliknij pulę zawierającą agenta.

  3. Upewnij się, że agent jest włączony.

  4. Przejdź do karty możliwości:

    1. Na karcie Pule agentów wybierz żądaną pulę agentów.

      W obszarze Pule agentów wybierz żądaną pulę agentów.

    2. Wybierz pozycję Agenci i wybierz żądanego agenta.

      Wybierz pozycję Agenci i wybierz agenta.

    3. Wybierz kartę Możliwości .

      Wybierz kartę Możliwości.

      Uwaga

      Agenci hostowani przez firmę Microsoft nie wyświetlają możliwości systemowych. Aby uzyskać listę oprogramowania zainstalowanego na agentach hostowanych przez firmę Microsoft, zobacz Używanie agenta hostowanego przez firmę Microsoft.

    1. Na karcie Pule agentów wybierz żądaną pulę.

      Wybierz żądaną pulę.

    2. Wybierz pozycję Agenci i wybierz żądanego agenta.

      Wybierz pozycję Agenci i wybierz żądanego agenta.

    3. Wybierz kartę Możliwości .

      Karta Możliwości agenta.

    1. Na karcie Pule agentów wybierz żądaną pulę.

      Wybierz odpowiednią kartę 2019.

    2. Wybierz pozycję Agenci i wybierz żądanego agenta.

      Wybierz żądanego agenta, 2019.

    3. Wybierz kartę Możliwości .

      Wybierz kartę Możliwości 2019.

  5. Agent.Version Poszukaj możliwości. Możesz sprawdzić tę wartość względem najnowszej opublikowanej wersji agenta. Zobacz Agent usługi Azure Pipelines i sprawdź stronę, aby uzyskać najwyższy numer wersji na liście.

  6. Każdy agent automatycznie aktualizuje się, gdy uruchamia zadanie wymagające nowszej wersji agenta. Jeśli chcesz ręcznie zaktualizować niektórych agentów, kliknij prawym przyciskiem myszy pulę i wybierz polecenie Aktualizuj wszystkich agentów.

Czy mogę zaktualizować agentów będących częścią puli usługi Azure DevOps Server?

Tak. Począwszy od usługi Azure DevOps Server 2019, można skonfigurować serwer tak, aby szukał plików pakietu agenta na dysku lokalnym. Ta konfiguracja zastąpi domyślną wersję, która została udostępniona z serwerem w momencie jego wydania. Ten scenariusz ma również zastosowanie, gdy serwer nie ma dostępu do Internetu.

  1. Z komputera z dostępem do Internetu pobierz najnowszą wersję plików pakietu agenta (w formularzu .zip lub .tar.gz) ze strony Wydania usługi GitHub agenta usługi Azure Pipelines.

  2. Przenieś pobrane pliki pakietu do każdej warstwy aplikacji serwera Usługi Azure DevOps przy użyciu wybranej metody (takiej jak dysk USB, transfer sieciowy itd.). Umieść pliki agenta w następującym folderze:

  • Windows: %ProgramData%\Microsoft\Azure DevOps\Agents
  • Linux: usr/share/Microsoft/Azure DevOps/Agents
  • Macos: usr/share/Microsoft/Azure DevOps/Agents

Utwórz folder Agenci, jeśli nie jest obecny.

  1. Wszystko gotowe! Serwer Usługi Azure DevOps będzie teraz używać plików lokalnych za każdym razem, gdy agenci są aktualizowani. Każdy agent automatycznie aktualizuje się, gdy uruchamia zadanie wymagające nowszej wersji agenta. Jeśli jednak chcesz ręcznie zaktualizować niektórych agentów, kliknij prawym przyciskiem myszy pulę, a następnie wybierz polecenie Aktualizuj wszystkich agentów.

Dlaczego program sudo jest potrzebny do uruchamiania poleceń usługi?

./svc.sh używa elementu systemctl, który wymaga sudo.

Kod źródłowy: systemd.svc.sh.template w witrynie GitHub

Uruchamiam zaporę, a mój kod znajduje się w usłudze Azure Repos. Z jakimi adresami URL agent musi się komunikować?

Jeśli używasz agenta w bezpiecznej sieci za zaporą, upewnij się, że agent może zainicjować komunikację z następującymi adresami URL i adresami IP.

Adres URL domeny opis
https://{organization_name}.pkgs.visualstudio.com Interfejs API tworzenia pakietów usługi Azure DevOps dla organizacji korzystających z {organization_name}.visualstudio.com domeny
https://{organization_name}.visualstudio.com W przypadku organizacji korzystających z {organization_name}.visualstudio.com domeny
https://{organization_name}.vsblob.visualstudio.com Telemetria usługi Azure DevOps dla organizacji korzystających z {organization_name}.visualstudio.com domeny
https://{organization_name}.vsrm.visualstudio.com Usługi zarządzania wydaniami dla organizacji korzystających z {organization_name}.visualstudio.com domeny
https://{organization_name}.vssps.visualstudio.com Usługi Azure DevOps Platform Services dla organizacji korzystających z {organization_name}.visualstudio.com domeny
https://{organization_name}.vstmr.visualstudio.com Usługi zarządzania testami usługi Azure DevOps dla organizacji korzystających z {organization_name}.visualstudio.com domeny
https://*.blob.core.windows.net Azure Artifacts
https://*.dev.azure.com W przypadku organizacji korzystających z dev.azure.com domeny
https://*.vsassets.io Usługa Azure Artifacts za pośrednictwem usługi CDN
https://*.vsblob.visualstudio.com Telemetria usługi Azure DevOps dla organizacji korzystających z dev.azure.com domeny
https://*.vssps.visualstudio.com Usługi Azure DevOps Platform Services dla organizacji korzystających z dev.azure.com domeny
https://*.vstmr.visualstudio.com Usługi zarządzania testami usługi Azure DevOps dla organizacji korzystających z dev.azure.com domeny
https://app.vssps.visualstudio.com W przypadku organizacji korzystających z {organization_name}.visualstudio.com domeny
https://dev.azure.com W przypadku organizacji korzystających z dev.azure.com domeny
https://login.microsoftonline.com Logowanie w usłudze Microsoft Entra
https://management.core.windows.net Interfejsy API usługi Azure Management
https://vstsagentpackage.azureedge.net Pakiet agenta

Aby upewnić się, że organizacja współpracuje z wszelkimi istniejącymi ograniczeniami zapory lub adresu IP, upewnij się, że dev.azure.com adresy IP na liście dozwolonych są otwarte i *dev.azure.com zaktualizuj je, aby uwzględnić następujące adresy IP w zależności od używanej wersji adresu IP. Jeśli obecnie zezwalasz na wyświetlanie 13.107.6.183 listy adresów IP i 13.107.9.183 , pozostaw je na miejscu, ponieważ nie musisz ich usuwać.

Zakresy IPv4

  • 13.107.6.0/24
  • 13.107.9.0/24
  • 13.107.42.0/24
  • 13.107.43.0/24

Zakresy IPv6

  • 2620:1ec:4::/48
  • 2620:1ec:a92::/48
  • 2620:1ec:21::/48
  • 2620:1ec:22::/48

Uwaga

Aby uzyskać więcej informacji na temat dozwolonych adresów, zobacz Dozwolone listy adresów i połączenia sieciowe.

Jak mogę uruchomić agenta z certyfikatem z podpisem własnym?

Uruchamianie agenta z certyfikatem z podpisem własnym

Jak mogę uruchomić agenta za internetowym serwerem proxy?

Uruchamianie agenta za internetowym serwerem proxy

Jak mogę ponownie uruchomić agenta

Jeśli używasz agenta interaktywnie, zapoznaj się z instrukcjami dotyczącymi ponownego uruchamiania w temacie Uruchamianie interakcyjne. Jeśli używasz agenta jako usługi systemowej, wykonaj kroki, aby zatrzymać, a następnie uruchomić agenta.

Jak mogę skonfigurować agenta w celu obejścia internetowego serwera proxy i połączenia z usługą Azure Pipelines?

Jeśli chcesz, aby agent pominął serwer proxy i nawiązał bezpośrednie połączenie z usługą Azure Pipelines, należy skonfigurować internetowy serwer proxy, aby umożliwić agentowi dostęp do następujących adresów URL.

W przypadku organizacji korzystających z *.visualstudio.com domeny:

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

W przypadku organizacji korzystających z dev.azure.com domeny:

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

Aby upewnić się, że organizacja współpracuje z wszelkimi istniejącymi ograniczeniami zapory lub adresu IP, upewnij się, że dev.azure.com adresy IP na liście dozwolonych są otwarte i *dev.azure.com zaktualizuj je, aby uwzględnić następujące adresy IP w zależności od używanej wersji adresu IP. Jeśli obecnie zezwalasz na wyświetlanie 13.107.6.183 listy adresów IP i 13.107.9.183 , pozostaw je na miejscu, ponieważ nie musisz ich usuwać.

Zakresy IPv4

  • 13.107.6.0/24
  • 13.107.9.0/24
  • 13.107.42.0/24
  • 13.107.43.0/24

Zakresy IPv6

  • 2620:1ec:4::/48
  • 2620:1ec:a92::/48
  • 2620:1ec:21::/48
  • 2620:1ec:22::/48

Uwaga

Ta procedura umożliwia agentowi obejście internetowego serwera proxy. Potok kompilacji i skrypty muszą nadal obsługiwać pomijanie internetowego serwera proxy dla każdego zadania i narzędzia uruchomionego w kompilacji.

Jeśli na przykład używasz zadania NuGet, musisz skonfigurować internetowy serwer proxy w celu obsługi pomijania adresu URL serwera, który hostuje używany kanał informacyjny NuGet.

Używam serwera TFS, a adresy URL w powyższych sekcjach nie działają dla mnie. Gdzie mogę uzyskać pomoc?

Ustawienia i zabezpieczenia witryny sieci Web

Używam lokalnego serwera TFS i nie widzę niektórych z tych funkcji. Dlaczego nie?

Niektóre z tych funkcji są dostępne tylko w usłudze Azure Pipelines i nie są jeszcze dostępne lokalnie. Niektóre funkcje są dostępne lokalnie, jeśli przeprowadzono uaktualnienie do najnowszej wersji serwera TFS.

Wymagania wstępne kontroli wersji serwera Team Foundation

Jeśli będziesz używać kontrolera TFVC, potrzebujesz również zestawu Oracle Java JDK 1.6 lub nowszego. (Środowisko Oracle JRE i OpenJDK nie są wystarczające do tego celu).

Wtyczka TEE jest używana na potrzeby funkcji kontroli wersji serwera Team Foundation. Ma umowę EULA, którą należy zaakceptować podczas konfiguracji, jeśli planujesz pracować z serwerem TFVC.

Ponieważ wtyczka TEE nie jest już utrzymywana i zawiera nieaktualne zależności języka Java, począwszy od agenta 2.198.0, nie jest już uwzględniana w dystrybucji agenta. Jednak wtyczka TEE zostanie pobrana podczas wykonywania zadania wyewidencjonowania, jeśli wyewidencjonujesz repozytorium TFVC. Wtyczka TEE zostanie usunięta po wykonaniu zadania.

Uwaga

Uwaga: zadanie wyewidencjonowania może zająć dużo czasu, aby rozpocząć pracę z powodu tego mechanizmu pobierania.

Jeśli agent działa za serwerem proxy lub zaporą, musisz zapewnić dostęp do następującej lokacji: https://vstsagenttools.blob.core.windows.net/. Wtyczka TEE zostanie pobrana z tego adresu.

Jeśli używasz własnego agenta i masz problemy z pobieraniem aplikacji TEE, możesz zainstalować tee ręcznie:

  1. Ustaw DISABLE_TEE_PLUGIN_REMOVAL zmienną środowiskową lub potokową na truewartość . Ta zmienna uniemożliwia agentowi usunięcie wtyczki TEE po wyewidencjonowaniu repozytorium TFVC.
  2. Pobierz ręcznie program TEE-CLC w wersji 14.135.0 z programu Team Explorer Everywhere w wersjach usługi GitHub.
  3. Wyodrębnij zawartość TEE-CLC-14.135.0 folderu do <agent_directory>/externals/teefolderu .