Agenci własnego systemu macOS
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 serwera 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.
Do kompilowania i wdrażania aplikacji Xcode potrzebny jest co najmniej jeden agent systemu macOS. Ten agent może również tworzyć i wdrażać aplikacje Java i Android.
Notatka
W tym artykule opisano sposób konfigurowania agenta umieszczonego lokalnie . Jeśli używasz usług Azure DevOps Services i agenta hostowanego przez firmę Microsoft spełnia Twoje potrzeby, możesz pominąć konfigurowanie własnego agenta systemu macOS.
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 wstępnych o tym, co robią oraz w jaki sposób działają, zobacz Azure Pipelines Agents .
Sprawdzanie wymagań wstępnych
- Obsługiwane systemy operacyjne
- x64
- macOS 10.15 "Catalina"
- macOS 11.0 "Big Sur"
- macOS 12.0 "Monterey"
- macOS 13.0 "Ventura"
- macOS 14.0 "Sonoma"
- ARM64
- macOS 11.0 "Big Sur"
- macOS 12.0 "Monterey"
- macOS 13.0 "Ventura"
- macOS 14.0 "Sonoma"
- x64
Git — Git 2.9.0 lub nowsza (zalecana najnowsza wersja — można ją łatwo zainstalować za pomocąHomebrew)
- .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.
- TFVC — jeśli kompilujesz z repozytorium TFVC, zobacz wymagania wstępne TFVC.
Przygotuj uprawnienia
Jeśli tworzysz z repozytorium Subversion, musisz zainstalować klienta Subversion na maszynie.
Należy uruchomić instalatora agenta ręcznie po raz pierwszy. Po zapoznaniu się z działaniem agentów lub jeśli chcesz zautomatyzować konfigurowanie wielu agentów, rozważ użycie nienadzorowanej konfiguracji.
Zabezpieczenia informacji dla samodzielnie hostowanych agentów
Użytkownik, konfigurując agenta, wymaga uprawnień administratora puli, ale użytkownik uruchamiający agenta 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ń związany z każdym indywidualnym użyciem agentów Pipelines do wykonania pracy i zdecydować, jakie są minimalne uprawnienia, które można przyznać użytkownikowi uruchamiającemu agenta, maszynie, na której działa agent, użytkownikom, którzy mają dostęp do edycji definicji Pipelines, repozytoriów git, w których jest przechowywany yaml, lub grupie użytkowników, którzy kontrolują dostęp do puli dla nowych Pipelines.
Najlepszym rozwiązaniem jest, aby tożsamość uruchamiająca agenta różniła się od tej, która ma uprawnienia do połą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.
Sensowne jest udzielić dostępu do folderu agenta tylko administratorom DevOps i tożsamości użytkownika uruchamiającego proces agenta. Administratorzy mogą chcieć zbadać system 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 mająca uprawnienia do administrowania kolejką agenta musi wykonać te kroki. Agent nie będzie używać poświadczeń tej osoby w codziennej pracy, ale są one wymagane do ukończenia rejestracji. Dowiedz się więcej na temat sposobu komunikowania się agentów.
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 w Azure DevOps lub administratorem TFS albo Azure DevOps Server? zatrzymaj się tutaj, masz uprawnienia.
Inaczej:
Otwórz przeglądarkę i przejdź do karty Agent pools dla organizacji usługi Azure Pipelines lub serwera Azure DevOps Server lub serwera TFS:
Zaloguj się do organizacji (
https://dev.azure.com/{yourorganization}
).Wybierz Azure DevOps, Ustawienia organizacji.
Wybierz pule agentów.
Zaloguj się do kolekcji projektów (
http://your-server/DefaultCollection
).Wybierz pozycję Azure DevOps Ustawienia kolekcji.
Wybierz pule agentów.
Wybierz pozycję Azure DevOps Ustawienia kolekcji.
Wybierz pule agentów.
Wybierz pulę po prawej stronie, a następnie kliknij opcję Zabezpieczenia.
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 DevOpslub administratorem serwera TFS lub azure DevOps Server.
Jeśli jest to agent grupy wdrażania
, administrator może być administratorem grupy wdrożenia, właścicielem organizacji usługi Azure DevOps lub administratorem serweraTFS lub azure DevOps Server .Możesz dodać użytkownika do roli administratora grupy wdrażania na karcie zabezpieczeń
na stronie grup wdrażania w usłudze Azure Pipelines .
Notatka
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 w imieniu właściciela organizacji, 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
Zaloguj się na maszynie przy użyciu konta, dla którego przygotowano uprawnienia zgodnie z wyjaśnieniem w poprzedniej sekcji.
W przeglądarce internetowej zaloguj się do Azure Pipelines i nawiguj do karty Agent pools.
Zaloguj się do organizacji (
https://dev.azure.com/{yourorganization}
).Wybierz Azure DevOps, Ustawienia organizacji.
Wybierz pule agentów.
Zaloguj się do kolekcji projektów (
http://your-server/DefaultCollection
).Wybierz pozycję Azure DevOps Ustawienia kolekcji.
Wybierz pule agentów.
Wybierz pozycję Azure DevOps Ustawienia kolekcji.
Wybierz pule agentów.
Wybierz pulę
domyślną , wybierz kartę Agenci, a następnie wybierz pozycję Nowy agent .W oknie dialogowym Pobierz agenta kliknij macOS.
Kliknij przycisk Pobierz.
Postępuj zgodnie z instrukcjami na stronie.
Wyczyść atrybut rozszerzony w pliku tar:
xattr -c vsts-agent-osx-x64-V.v.v.tar.gz
.Rozpakuj agenta do wybranego katalogu.
cd
do tego katalogu i uruchom./config.sh
. Upewnij się, że ścieżka do katalogu nie zawiera spacji, ponieważ narzędzia i skrypty nie zawsze prawidłowo unikną spacji.
Adres URL serwera
Azure Pipelines: https://dev.azure.com/{your-organization}
Azure DevOps Server: https://{your_server}/tfs
Typ uwierzytelniania
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 samodzielnego agenta.
- osobisty token dostępu
- Alternatywne Nawiąż połączenie z serwerem Azure DevOps Server lub TFS przy użyciu uwierzytelniania podstawowego. Po wybraniu alternatywnej zostanie wyświetlony monit o podanie poświadczeń.
Uruchom interaktywnie
Aby uzyskać wskazówki dotyczące uruchamiania agenta w trybie interaktywnym lub jako usługa, zobacz Agents: Interactive vs. service.
Aby uruchomić agenta interaktywnie:
Jeśli używasz agenta jako usługi, odinstaluj usługę.
Uruchom agenta.
./run.sh
Aby ponownie uruchomić agenta, naciśnij Ctrl+C, a następnie uruchom run.sh
, aby go ponownie uruchomić.
Aby użyć agenta, uruchom zadanie przy użyciu puli agenta. Jeśli nie wybrałeś innej puli, twój agent zostanie umieszczony w puli Domyślna.
Uruchom raz
W przypadku agentów skonfigurowanych do interaktywnego uruchamiania można wybrać, że agent akceptuje tylko jedno zadanie. Aby uruchomić w tej konfiguracji:
./run.sh --once
Agenci w tym trybie pracy akceptują tylko jedno zadanie, a następnie wyłączają się płynnie (jest to przydatne do uruchamiania na usłudze takiej jak Azure Container Instances).
Uruchamianie jako uruchomionej usługi
Udostępniamy skrypt ./svc.sh
do uruchamiania agenta i zarządzania nim jako usługi LaunchAgent launchd
. Ten skrypt jest generowany po skonfigurowaniu agenta. Usługa ma dostęp do interfejsu użytkownika w celu uruchomienia testów interfejsu użytkownika.
Notatka
Jeśli wolisz inne podejścia, możesz użyć dowolnego preferowanego mechanizmu usług. Zobacz pliki usługi .
Tokeny
W poniższej sekcji te tokeny są zastępowane:
{agent-name}
{tfs-name}
Na przykład skonfigurowano agenta (jak pokazano w poprzednim przykładzie) o nazwie our-osx-agent
. W poniższych przykładach {tfs-name}
jest jednym z poniższych:
Azure Pipelines: nazwa organizacji. Jeśli na przykład połączysz się z
https://dev.azure.com/fabrikam
, nazwa usługi będzievsts.agent.fabrikam.our-osx-agent
TFS: nazwa lokalnego serwera TFS AT. Jeśli na przykład połączysz się z
http://our-server:8080/tfs
, nazwa usługi będzievsts.agent.our-server.our-osx-agent
Polecenia
Przejdź do katalogu agenta
Jeśli na przykład zainstalowano w podfolderze myagent
katalogu macierzystego:
cd ~/myagent$
Instalować
Polecenie:
./svc.sh install
To polecenie tworzy launchd
plist, który wskazuje ./runsvc.sh
. Ten skrypt konfiguruje środowisko (więcej szczegółów w poniższej sekcji) i uruchamia hosta agenta.
Początek
Polecenie:
./svc.sh start
Wyjście:
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}
Liczba z lewej strony to pid, jeśli usługa jest uruchomiona. Jeśli druga liczba nie jest równa zero, wystąpił problem.
Stan
Polecenie:
./svc.sh status
Wyjście:
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}
Lewa liczba to PID, jeśli usługa jest uruchomiona. Jeśli druga liczba nie jest równa zero, wystąpił problem.
Zatrzymać
Polecenie:
./svc.sh stop
Wyjście:
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
Odinstalowywanie
Powinieneś przerwać działanie przed odinstalowaniem.
Polecenie:
./svc.sh uninstall
Automatyczne logowanie i blokowanie
Zwykle usługa agenta jest uruchamiana tylko po zalogowaniu użytkownika. Jeśli chcesz, aby usługa agenta automatycznie uruchamiała się po ponownym uruchomieniu maszyny, możesz skonfigurować maszynę do automatycznego logowania i blokowania podczas uruchamiania. Zobacz Ustawianie komputera Mac do automatycznego logowania podczas uruchamiania — pomoc techniczna firmy Apple.
Notatka
Aby uzyskać więcej informacji, zapoznaj się z blogiem Terminally Geeky: używaj automatycznego logowania bezpieczniej. Plik plist wymieniony w tym blogu może nie być już dostępny w źródle, ale kopię można znaleźć tutaj: Lifehacker - Make OS X load your desktop before you log in.
Aktualizowanie 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
./svc.sh stop
./svc.sh start
Migawka zmiennych środowiskowych jest przechowywana w pliku .env
w katalogu głównym agenta. Można również zmienić ten plik bezpośrednio, aby zastosować zmiany zmiennych środowiskowych.
Uruchamianie instrukcji przed uruchomieniem usługi
Możesz również uruchomić własne instrukcje i polecenia do uruchomienia wraz z rozpoczęciem działania usługi. Można na przykład skonfigurować środowisko lub wywołać skrypty.
Edytuj
runsvc.sh
.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 .plist
Utworzono plik serwisowy .plist.
~/Library/LaunchAgents/vsts.agent.{tfs-name}.{agent-name}.plist
Na przykład:
~/Library/LaunchAgents/vsts.agent.fabrikam.our-osx-agent.plist
./svc.sh install
generuje ten plik na podstawie tego szablonu: ./bin/vsts.agent.plist.template
Plik .service
./svc.sh start
znajduje usługę, odczytując plik .service
, który zawiera ścieżkę do pliku usługi plist opisanego powyżej.
Alternatywne mechanizmy usług
Udostępniamy skrypt ./svc.sh
jako wygodny sposób uruchamiania agenta i zarządzania nim jako usługi launchd
LaunchAgent. Można jednak użyć dowolnego preferowanego mechanizmu usług.
Możesz użyć opisanego powyżej szablonu, aby ułatwić generowanie innych rodzajów plików usługi. Na przykład zmodyfikujesz szablon, aby wygenerować usługę uruchamianą jako demon startowy, jeśli nie potrzebujesz testów interfejsu użytkownika i nie chcesz konfigurować automatycznego logowania i blokady ekranu. Zobacz Apple Developer Library: Tworzenie usług i agentów uruchamiania.
Zastępowanie agenta
Aby zastąpić agenta, wykonaj ponownie kroki Pobierz i skonfiguruj 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 Y
, upewnij się, że usuniesz agenta (zobacz poniżej), którego zastępujesz. W przeciwnym razie po kilku minutach konfliktów jeden z agentów zostanie wyłączony.
Usuwanie i ponowne konfigurowanie agenta
Aby usunąć agenta:
Zatrzymaj i odinstaluj usługę zgodnie z wyjaśnieniem w poprzedniej sekcji.
Usuń agenta.
./config.sh remove
Wprowadź swoje poświadczenia.
Po usunięciu agenta możesz skonfigurować go ponownie.
Konfiguracja nienadzorowana
Agenta można skonfigurować na podstawie skryptu bez interwencji człowieka.
Musisz przekazać --unattended
i odpowiedzi na wszystkie pytania.
Aby skonfigurować agenta, musi on znać adres URL organizacji lub kolekcji oraz mieć poświadczenia osoby upoważnionej do konfiguracji 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 wielkim przypadku i wstaw VSTS_AGENT_INPUT_
.
Na przykład VSTS_AGENT_INPUT_PASSWORD
zamiast określać --password
.
Wymagane opcje
-
--unattended
— instalacja agenta nie wyświetli monitu o informacje, 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
--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
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, do której agent ma dołączyć -
--agent <agent>
— nazwa agenta -
--replace
— zastąp agenta w puli. Jeśli inny agent nasłuchuje pod tą samą nazwą, zacznie występować konflikt.
Konfiguracja agenta
-
--work <workDirectory>
— katalog służbowy, w którym są przechowywane dane zadania. Domyślnie ustawia się na_work
w katalogu głównym 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>
— używane z--deploymentGroup
do określenia grupy wdrożeniowej, do której agent ma dołączyć -
--projectName <name>
— używana z--deploymentGroup
do ustawiania nazwy projektu -
--addDeploymentGroupTags
— używane z--deploymentGroup
, aby wskazać, że należy dodać tagi grupy wdrożenia -
--deploymentGroupTags <tags>
— służy z--addDeploymentGroupTags
do określania rozdzielanej przecinkami listy tagów agenta grupy wdrażania — na przykład "web, db"
Tylko środowiska
-
--addvirtualmachineresourcetags
— służy do wskazywania, że należy dodać tagi zasobów środowiska -
--virtualmachineresourcetags <tags>
— używany z--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 problem z samodzielnie hostowanym 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 samodzielnie hostowanych agentów
Ustaw wartość Agent.Diagnostic
na true
, aby zebrać dodatkowe dzienniki, których można użyć do rozwiązywania problemów z siecią dla agentów hostowanych lokalnie. Aby uzyskać więcej informacji, zobacz Diagnostyka sieci dla agentów działających na własnym serwerze.
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 Zdolności agenta kompilacji i wdrożenia.
W wielu przypadkach po wdrożeniu agenta należy zainstalować oprogramowanie lub narzędzia. Ogólnie rzecz biorąc, należy zainstalować na agentach to samo oprogramowanie i narzędzia, które są używane na komputerze, na którym odbywa się praca developerska.
Jeśli na przykład kompilacja zawiera zadanie npm, kompilacja nie zostanie uruchomiona, chyba że w puli jest zainstalowany agent kompilacji npm.
Ważny
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 nowa funkcjonalność pojawiła się w puli, co umożliwi uruchomienie kompilacji.
Jeśli chcesz wykluczyć zmienne środowiskowe jako możliwości, możesz je wyznaczyć, ustawiając zmienną środowiskową VSO_AGENT_IGNORE
z rozdzielaną przecinkami listą zmiennych do ignorowania.
FAQ
Jak się upewnić, że mam najnowszą wersję agenta?
Przejdź do karty Pule agentów:
Zaloguj się do organizacji (
https://dev.azure.com/{yourorganization}
).Wybierz Azure DevOps, Ustawienia organizacji.
Wybierz pule agentów.
Zaloguj się do kolekcji projektów (
http://your-server/DefaultCollection
).Wybierz pozycję Azure DevOps Ustawienia kolekcji.
Wybierz pule agentów.
Wybierz pozycję Azure DevOps Ustawienia kolekcji.
Wybierz pule agentów.
Kliknij pulę zawierającą agenta.
Upewnij się, że agent jest włączony.
Przejdź do karty możliwości:
Na karcie Pule agentów wybierz żądaną pulę agentów.
Wybierz pozycję Agenci i wybierz odpowiedniego agenta.
Wybierz kartę Możliwości.
Notatka
Agenci hostowani przez firmę Microsoft nie wyświetlają możliwości systemowych. Aby uzyskać listę oprogramowania zainstalowanego na agentach hostowanych przez firmę Microsoft, zobacz Use a Microsoft-hosted agent.
Na karcie Pule agentów wybierz żądaną pulę.
Wybierz pozycję Agenci i wybierz odpowiedniego agenta.
Wybierz kartę Możliwości.
karta
Na karcie Pule agentów wybierz żądaną pulę.
Wybierz pozycję Agenci i wybierz odpowiedniego agenta.
Wybierz kartę Możliwości.
Poszukaj funkcji
Agent.Version
. Możesz sprawdzić tę wartość względem najnowszej opublikowanej wersji agenta. Zobacz agenta usługi Azure Pipelines i sprawdź stronę pod kątem najwyższego numeru wersji na liście.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 Zaktualizuj 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.
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 Agent usługi Azure Pipelines.
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 Agents, jeśli nie istnieje.
- Wszystko jest 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 Zaktualizuj wszystkich agentów.
Jak upewnić się, że mam najnowszą wersję agenta?
Przejdź do zakładki Pule agentów:
Zaloguj się do organizacji (
https://dev.azure.com/{yourorganization}
).Wybierz Azure DevOps, Ustawienia organizacji.
Wybierz pule agentów.
Zaloguj się do kolekcji projektów (
http://your-server/DefaultCollection
).Wybierz pozycję Azure DevOps Ustawienia kolekcji.
Wybierz pule agentów.
Wybierz pozycję Azure DevOps Ustawienia kolekcji.
Wybierz pule agentów.
Kliknij pulę zawierającą agenta.
Upewnij się, że agent jest włączony.
Przejdź do karty możliwości:
Na karcie Pule agentów wybierz żądaną pulę agentów.
Wybierz pozycję Agenci i wybierz odpowiedniego agenta.
Wybierz zakładkę Możliwości.
Notatka
Agenci hostowani przez firmę Microsoft nie wyświetlają możliwości systemowych. Aby uzyskać listę oprogramowania zainstalowanego na agentach hostowanych przez firmę Microsoft, zobacz Use a Microsoft-hosted agent.
Z karty Pule agentów wybierz żądaną pulę.
Wybierz pozycję Agenci i wybierz odpowiedniego agenta.
Wybierz zakładkę Możliwości.
Zakładka
Na karcie Grupy agentów wybierz żądaną grupę.
Wybierz pozycję Agenci i wybierz odpowiedniego agenta.
Wybierz kartę Możliwości.
Poszukaj funkcjonalności
Agent.Version
. Możesz sprawdzić tę wartość względem najnowszej opublikowanej wersji agenta. Zobacz agenta usługi Azure Pipelines i sprawdź stronę pod kątem najwyższego numeru wersji na liście.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 Zaktualizuj 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.
Z komputera z dostępem do Internetu pobierz najnowszą wersję plików pakietu agenta (w formie .zip lub .tar.gz) ze strony wydań agenta usługi Azure Pipelines na GitHubie .
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 Agents, jeśli nie istnieje.
- Wszystko jest 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 Zaktualizuj wszystkich agentów.
Gdzie mogę dowiedzieć się więcej o sposobie działania uruchomionej usługi?
Biblioteka dla deweloperów Apple: tworzenie usług startowych i agentów
Korzystam z zapory, 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 domeny {organization_name}.visualstudio.com |
https://{organization_name}.visualstudio.com |
W przypadku organizacji korzystających z domeny {organization_name}.visualstudio.com |
https://{organization_name}.vsblob.visualstudio.com |
Telemetria usługi Azure DevOps dla organizacji korzystających z domeny {organization_name}.visualstudio.com |
https://{organization_name}.vsrm.visualstudio.com |
Usługi zarządzania wydaniami dla organizacji korzystających z domeny {organization_name}.visualstudio.com |
https://{organization_name}.vssps.visualstudio.com |
Usługi Azure DevOps Platform Services dla organizacji korzystających z domeny {organization_name}.visualstudio.com |
https://{organization_name}.vstmr.visualstudio.com |
Usługi zarządzania testami usługi Azure DevOps dla organizacji korzystających z domeny {organization_name}.visualstudio.com |
https://*.blob.core.windows.net |
Azure Artifacts |
https://*.dev.azure.com |
W przypadku organizacji korzystających z domeny dev.azure.com |
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 domeny dev.azure.com |
https://*.vssps.visualstudio.com |
Usługi Azure DevOps Platform Services dla organizacji korzystających z domeny dev.azure.com |
https://*.vstmr.visualstudio.com |
Usługi zarządzania testami usługi Azure DevOps dla organizacji korzystających z domeny dev.azure.com |
https://app.vssps.visualstudio.com |
W przypadku organizacji korzystających z domeny {organization_name}.visualstudio.com |
https://dev.azure.com |
W przypadku organizacji korzystających z domeny dev.azure.com |
https://login.microsoftonline.com |
Logowanie w usłudze Microsoft Entra |
https://management.core.windows.net |
Interfejsy API zarządzania Azure |
https://vstsagentpackage.azureedge.net |
Pakiet agenta |
Aby zapewnić, że organizacja jest zgodna z wszelkimi istniejącymi ograniczeniami zapory lub adresów IP, upewnij się, że dev.azure.com
i *dev.azure.com
są otwarte, i zaktualizuj dozwolone adresy IP, aby uwzględnić następujące adresy IP zgodnie z wersją IP. Jeśli obecnie zezwalasz na wyświetlanie listy 13.107.6.183
i 13.107.9.183
adresów IP, 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
Notatka
Aby uzyskać więcej informacji na temat dozwolonych adresów, zobacz Listy dozwolonych adresów i połączenia sieciowe.
Jak uruchomić agenta z certyfikatem z własnym podpisem?
Uruchom agenta z certyfikatem z podpisem własnym
Jak uruchomić agenta za internetowym serwerem proxy?
Uruchom agenta przez serwer proxy internetowy
Jak ponownie uruchomić agenta
Jeśli agent jest uruchomiony interaktywnie, zobacz instrukcje ponownego uruchamiania w Uruchamianie interakcyjne. Jeśli używasz agenta jako usługi, wykonaj kroki, aby najpierw Zatrzymać, a następnie Uruchomić agenta.
Jak skonfigurować agenta, aby pominąć internetowy serwer proxy i nawiązać połączenie 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 domeny *.visualstudio.com
:
https://login.microsoftonline.com
https://app.vssps.visualstudio.com
https://{organization_name}.visualstudio.com
https://{organization_name}.vsrm.visualstudio.com
https://{organization_name}.vstmr.visualstudio.com
https://{organization_name}.pkgs.visualstudio.com
https://{organization_name}.vssps.visualstudio.com
W przypadku organizacji korzystających z domeny dev.azure.com
:
https://dev.azure.com
https://*.dev.azure.com
https://login.microsoftonline.com
https://management.core.windows.net
https://vstsagentpackage.azureedge.net
https://vssps.dev.azure.com
Aby upewnić się, że organizacja współpracuje z wszelkimi istniejącymi ograniczeniami zapory lub adresów IP, upewnij się, że dev.azure.com
i *dev.azure.com
są otwarte, i zaktualizuj adresy IP wymienione na liście dozwolonych, aby uwzględnić następujące adresy IP w oparciu o wersję adresu IP. Jeśli obecnie zezwalasz na wyświetlanie listy 13.107.6.183
i 13.107.9.183
adresów IP, 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
Notatka
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?
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 masz uaktualnioną do najnowszej wersji serwera TFS.
Wymagania wstępne TFVC
Jeśli będziesz używać TFVC, potrzebujesz również Oracle Java JDK 1.6 lub wersji nowszej. (Oracle JRE i OpenJDK nie są wystarczające do tego zadania).
Wtyczka TEE jest używana do funkcji kontroli wersji serwera Team Foundation (TFVC). 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 jest pobierana podczas wykonywania zadania wyewidencjonowania, jeśli wyewidencjonujesz repozytorium TFVC. Wtyczka TEE zostanie usunięta po wykonaniu zadania.
Notatka
Uwaga: Twoje zadanie płatności może zająć dużo czasu, zanim zacznie się wykonywać z powodu działania tego mechanizmu pobierania.
Jeśli agent działa za serwerem proxy lub zaporą, musisz zaakceptować, aby umożliwić dostęp do następującej strony: https://vstsagenttools.blob.core.windows.net/
. Wtyczka TEE jest pobierana z tego adresu.
Jeśli używasz własnego agenta i masz problemy z pobieraniem aplikacji TEE, możesz zainstalować tee ręcznie:
- Ustaw zmienną środowiska lub zmienną potoku
DISABLE_TEE_PLUGIN_REMOVAL
natrue
. Ta zmienna uniemożliwia agentowi usunięcie wtyczki TEE po wyewidencjonowaniu repozytorium TFVC. - Pobierz ręcznie wersję 14.135.0 z wydań na GitHubie Team Explorer Everywhere TEE-CLC.
- Wyodrębnij zawartość folderu
TEE-CLC-14.135.0
do<agent_directory>/externals/tee
.