PipAuthenticate@1 — zadanie uwierzytelniania pip języka Python w wersji 1
To zadanie służy do zapewnienia uwierzytelniania klienta pip
, który instaluje dystrybucje języka Python.
Składnia
# Python pip authenticate v1
# Authentication task for the pip client used for installing Python distributions.
- task: PipAuthenticate@1
inputs:
# Feeds and Authentication
#artifactFeeds: # string. My feeds (select below).
#pythonDownloadServiceConnections: # string. Feeds from external organizations.
#onlyAddExtraIndex: false # boolean. Don't set primary index URL. Default: false.
Dane wejściowe
artifactFeeds
- Moje kanały informacyjne (wybierz poniżej)
string
.
Określa źródła danych do uwierzytelniania w organizacji.
pythonDownloadServiceConnections
- Kanały informacyjne z organizacji zewnętrznych
string
.
Określa rozdzielaną przecinkami listę nazw połączeń usługi pip z organizacji zewnętrznych do uwierzytelniania za pomocą narzędzia pip.
onlyAddExtraIndex
- Nie ustawiaj podstawowego adresu URL indeksu
boolean
. Wartość domyślna: false
.
Jeśli to zadanie ma wartość true
, żadne źródło danych nie zostanie ustawione jako adres URL indeksu podstawowego. Wszystkie skonfigurowane kanały informacyjne/punkty końcowe zostaną ustawione jako dodatkowe adresy URL indeksu.
Opcje sterowania zadaniami
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań podrzędnych. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.
Zmienne wyjściowe
Brak.
Uwagi
Zapewnia uwierzytelnianie klienta pip
używanego do instalowania dystrybucji języka Python.
Kiedy w moim potoku należy uruchomić to zadanie?
To zadanie musi zostać uruchomione przed użyciem narzędzia pip w celu pobrania dystrybucji języka Python do uwierzytelnionego źródła pakietu, takiego jak Azure Artifacts. Nie ma żadnych innych wymagań dotyczących zamawiania. Wiele wywołań tego zadania nie spowoduje stosu poświadczeń. Każde uruchomienie zadania spowoduje wymazywanie wszystkich wcześniej przechowywanych poświadczeń.
Mój agent znajduje się za internetowym serwerem proxy. Czy narzędzie PipAuthenticate skonfiguruje narzędzie pip do korzystania z mojego serwera proxy?
Nie. To zadanie będzie działać za internetowym serwerem proxy, który został skonfigurowany do użycia, ale nie konfiguruje narzędzia pip do korzystania z serwera proxy.
W tym celu możesz wykonać następujące czynności:
- Ustaw zmienne
http_proxy
https_proxy
środowiskowe i opcjonalnieno_proxy
na ustawienia serwera proxy. Aby uzyskać szczegółowe informacje, zobacz oficjalne wskazówki dotyczące narzędzia Pip . Są to często używane zmienne, których mogą również używać inne narzędzia inne niż Python (np. curl).Przestroga
Zmienne
http_proxy
ino_proxy
są uwzględniane w systemach operacyjnych Linux i Mac i muszą mieć małe litery. Próba użycia zmiennej usługi Azure Pipelines w celu ustawienia zmiennej środowiskowej nie będzie działać, ponieważ zostanie przekonwertowana na wielkie litery. Zamiast tego ustaw zmienne środowiskowe na maszynie własnego agenta i uruchom ponownie agenta. - Dodaj ustawienia serwera proxy do pliku konfiguracji pip przy użyciu
proxy
klucza. --proxy
Użyj opcji wiersza polecenia, aby określić serwer proxy w postaci[user:passwd@]proxy.server:port
.
Mój potok musi mieć dostęp do kanału informacyjnego w innym projekcie
Jeśli potok jest uruchomiony w innym projekcie niż projekt obsługujący kanał informacyjny, musisz skonfigurować inny projekt, aby udzielić dostępu do odczytu/zapisu do usługi kompilacji. Aby uzyskać więcej informacji, zobacz Uprawnienia pakietu w usłudze Azure Pipelines .
Przykłady
Pobieranie dystrybucji języka Python z kanałów informacyjnych usługi Azure Artifacts bez konsultacji z oficjalnym rejestrem języka Python
W tym przykładzie ustawiamy uwierzytelnianie pobierania z prywatnych źródeł danych usługi Azure Artifacts. Zadanie uwierzytelniania tworzy zmienne PIP_INDEX_URL
środowiskowe i PIP_EXTRA_INDEX_URL
które są wymagane do pobrania dystrybucji. Zadanie ustawia zmienne przy użyciu poświadczeń uwierzytelniania generowanych przez zadanie dla podanych źródeł danych Artifacts. HelloTestPackage
musi być obecny w elemecie myTestFeed1
lub myTestFeed2
; w przeciwnym razie instalacja zakończy się niepowodzeniem.
W przypadku źródeł danych o zakresie projektu, które znajdują się w innym projekcie niż w przypadku uruchamiania potoku, należy ręcznie nadać projektowi i kanałowi informacyjnemu dostęp do usługi kompilacji projektu potoku.
- task: PipAuthenticate@1
displayName: 'Pip Authenticate'
inputs:
# Provide list of feed names which you want to authenticate.
# Project scoped feeds must include the project name in addition to the feed name.
artifactFeeds: 'project1/myTestFeed1, myTestFeed2'
# Use command line tool to 'pip install'.
- script: |
pip install HelloTestPackage
Zapoznaj się z oficjalnym rejestrem języka Python, a następnie pobierz dystrybucje języka Python z kanałów informacyjnych usługi Azure Artifacts
W tym przykładzie ustawiamy uwierzytelnianie na potrzeby pobierania z prywatnego kanału informacyjnego usługi Azure Artifacts, ale pypi jest najpierw konsultowane. Zadanie uwierzytelniania tworzy zmienną środowiskową PIP_EXTRA_INDEX_URL
, która zawiera poświadczenia uwierzytelniania wymagane do pobrania dystrybucji. HelloTestPackage
program zostanie pobrany z uwierzytelnionych kanałów informacyjnych tylko wtedy, gdy nie jest obecny w narzędziu pypi.
W przypadku źródeł danych o zakresie projektu, które znajdują się w innym projekcie niż w przypadku uruchamiania potoku, należy ręcznie nadać projektowi i kanałowi informacyjnemu dostęp do usługi kompilacji projektu potoku.
- task: PipAuthenticate@1
displayName: 'Pip Authenticate'
inputs:
# Provide list of feed names which you want to authenticate.
# Project scoped feeds must include the project name in addition to the feed name.
artifactFeeds: 'project1/myTestFeed1, myTestFeed2'
# Setting this variable to "true" will force pip to get distributions from official python registry first and fallback to feeds mentioned above if distributions are not found there.
onlyAddExtraIndex: true
# Use command line tool to 'pip install'.
- script: |
pip install HelloTestPackage
Pobieranie dystrybucji języka Python z innych prywatnych serwerów języka Python
W tym przykładzie ustawiamy uwierzytelnianie pobierania z zewnętrznego serwera dystrybucji języka Python. Utwórz wpis połączenia usługi pip dla usługi zewnętrznej. Zadanie uwierzytelniania używa połączenia usługi do utworzenia zmiennej środowiskowej PIP_INDEX_URL
, która zawiera poświadczenia uwierzytelniania wymagane do pobrania dystrybucji. HelloTestPackage
musi być obecny w połączeniu z usługą pypitest
. W przeciwnym razie instalacja zakończy się niepowodzeniem. Jeśli chcesz najpierw skonsultować się z narzędziem pypi , ustaw wartość onlyAddExtraIndex
true
.
- task: PipAuthenticate@1
displayName: 'Pip Authenticate'
inputs:
# In this case, name of the service connection is "pypitest".
pythonDownloadServiceConnections: pypitest
# Use command line tool to 'pip install'.
- script: |
pip install HelloTestPackage
Wymagania
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja, wersja klasyczna |
Działa w | Agent, DeploymentGroup |
Wymagania | Brak |
Możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
Ograniczenia poleceń | Dowolne |
Zmienne ustawialne | Dowolne |
Wersja agenta | 2.144.0 lub nowsza |
Kategoria zadania | Pakiet |
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja, wersja klasyczna |
Działa w | Agent, DeploymentGroup |
Wymagania | Brak |
Możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
Ograniczenia poleceń | Dowolne |
Zmienne ustawialne | Dowolne |
Wersja agenta | 2.120.0 lub nowsza |
Kategoria zadania | Pakiet |