Udostępnij za pośrednictwem


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_proxyhttps_proxy środowiskowe i opcjonalnie no_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 i no_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ść onlyAddExtraIndextrue.

- 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