PipAuthenticate@1 — zadanie uwierzytelniania języka Python w wersji 1
To zadanie służy do zapewnienia uwierzytelniania dla 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.
Wejścia
artifactFeeds
-
Moje kanały informacyjne (wybierz poniżej)
string
.
Określa rozdzielaną przecinkami listę źródeł danych usługi Azure Artifacts w celu uwierzytelniania za pomocą narzędzia.
pythonDownloadServiceConnections
-
źródła danych z organizacji zewnętrznych
string
.
Określa rozdzielaną przecinkami listę połączenia usługi nazwy z organizacji zewnętrznych do uwierzytelniania za pomocą narzędzia.
onlyAddExtraIndex
-
Nie ustawiaj adresu URL indeksu podstawowego
boolean
. Wartość domyślna: false
.
Jeśli to zadanie ma wartość true
, żadne źródło danych nie zostanie ustawione jako podstawowy adres URL indeksu. 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 kontroli i typowe właściwości zadań.
Zmienne wyjściowe
Żaden.
Uwagi
Zapewnia uwierzytelnianie dla klienta pip
używanego do instalowania dystrybucji języka Python.
- Kiedy w potoku należy uruchomić to zadanie?
- Co zrobić, jeśli chcę, aby moje potoki mogły zapisywać dane ze źródeł nadrzędnych?
- Mój agent znajduje się za internetowym serwerem proxy. Czy narzędzie PipAuthenticate skonfiguruje narzędzie do korzystania z mojego serwera proxy?
- Mój potok musi uzyskać dostęp do kanału informacyjnego w innym projekcie
Kiedy w potoku należy uruchomić to zadanie?
To zadanie musi zostać uruchomione przed użyciem narzędzia 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ń.
Co zrobić, jeśli chcę, aby moje potoki mogły zapisywać dane ze źródeł nadrzędnych?
Sprawdź tabelę uprawnień , aby określić, jakie uprawnienia mają mieć potok. Następnie określ, do którego tożsamości chcesz nadać te uprawnienia. Aby zapisać pakiety ze źródeł nadrzędnych, tożsamość wymaga Feed and Upstream Reader (Collaborator)
uprawnień.
Mój agent znajduje się za internetowym serwerem proxy. Czy narzędzie PipAuthenticate skonfiguruje narzędzie do korzystania z mojego serwera proxy?
Nie. Chociaż samo zadanie będzie działać za internetowym serwerem proxy, który agent został skonfigurowany do używania, nie konfiguruje narzędzia do korzystania z serwera proxy.
W tym celu można wykonać następujące czynności:
- Ustaw zmienne środowiskowe
http_proxy
,https_proxy
i opcjonalnieno_proxy
na ustawienia serwera proxy. Aby uzyskać szczegółowe informacje, zobaczoficjalne wytyczne dotyczące narzędzia. Są to często używane zmienne, których mogą również używać inne narzędzia inne niż Python (np. curl). Ostrożność
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 narzędzia przy użyciu klucza
proxy
. - Użyj opcji wiersza polecenia
--proxy
, aby określić serwer proxy w formularzu[user:passwd@]proxy.server:port
.
Mój potok musi uzyskać dostęp do kanału informacyjnego w innym projekcie
Jeśli potok jest uruchomiony w innym projekcie niż projekt hostowania kanału informacyjnego, należy skonfigurować drugi projekt, aby udzielić dostępu do odczytu/zapisu w usłudze 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 środowiskowe PIP_INDEX_URL
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 znajdować się w 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 pobierania z prywatnego źródła danych usługi Azure Artifacts, ale pypi jest najpierw konsultowana. Zadanie uwierzytelniania tworzy zmienną środowiskową PIP_EXTRA_INDEX_URL
, która zawiera poświadczenia uwierzytelniania wymagane do pobrania dystrybucji.
HelloTestPackage
zostaną pobrane z uwierzytelnionych źródeł danych tylko wtedy, gdy nie są obecne w 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 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 znajdować się w połączeniu z usługą pypitest
; w przeciwnym razie instalacja zakończy się niepowodzeniem. Jeśli chcesz
- 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 na | Agent, DeploymentGroup |
Wymagania | Żaden |
możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
ograniczenia poleceń | Jakikolwiek |
zmienne ustawiane | Jakikolwiek |
Wersja agenta | 2.144.0 lub nowsza |
Kategoria zadań | Pakiet |
Wymaganie | Opis |
---|---|
Typy potoków | YAML, klasyczna kompilacja, wersja klasyczna |
Działa na | Agent, DeploymentGroup |
Wymagania | Żaden |
możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
ograniczenia poleceń | Jakikolwiek |
zmienne ustawiane | Jakikolwiek |
Wersja agenta | 2.120.0 lub nowsza |
Kategoria zadań | Pakiet |