Udostępnij za pośrednictwem


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?

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 opcjonalnie no_proxy na ustawienia serwera proxy. Aby uzyskać szczegółowe informacje, zobacz oficjalne 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 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 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 pypi, ustaw na .

- 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