Udostępnij za pośrednictwem


TwineAuthenticate@1 — zadanie uwierzytelniania w wersji 1 przekazywania bliźniaczych reprezentacji języka Python

To zadanie służy do uwierzytelniania przekazywania dystrybucji języka Python przy użyciu bliźniaczych reprezentacji. Dodaj -r FeedName/EndpointName --config-file $(PYPIRC_PATH) element do polecenia przekazywania bliźniaczej reprezentacji. W przypadku kanałów informacyjnych obecnych w tej organizacji użyj nazwy kanału informacyjnego jako repozytorium (-r). W przeciwnym razie użyj nazwy punktu końcowego zdefiniowanego w połączeniu z usługą.

Składnia

# Python twine upload authenticate v1
# Authenticate for uploading Python distributions using twine. Add '-r FeedName/EndpointName --config-file $(PYPIRC_PATH)' to your twine upload command. For feeds present in this organization, use the feed name as the repository (-r). Otherwise, use the endpoint name defined in the service connection.
- task: TwineAuthenticate@1
  inputs:
  # Feeds and Authentication
    #artifactFeed: # string. My feed (select below). 
    #pythonUploadServiceConnection: # string. Feed from external organizations.

Dane wejściowe

artifactFeed - Mój kanał informacyjny (wybierz poniżej)
string.

Określa nazwę kanału informacyjnego artefaktu platformy Azure do uwierzytelniania za pomocą bliźniaczej reprezentacji. Kanał informacyjny uwierzytelniania musi być obecny w organizacji. W przypadku źródeł danych o zakresie projektu użyj składni projectName/feedNameSelect.


pythonUploadServiceConnection - Źródło danych z organizacji zewnętrznych
string.

Nazwa połączenia usługi bliźniaczej z organizacji zewnętrznej do uwierzytelniania za pomocą bliźniaczej reprezentacji. Poświadczenia przechowywane w punkcie końcowym muszą mieć uprawnienia do przekazywania pakietu.


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

Dostarcza twine poświadczenia do PYPIRC_PATH zmiennej środowiskowej dla zakresu kompilacji. Dzięki temu można publikować pakiety języka Python w kanałach informacyjnych z twine kompilacji.

Kiedy w moim potoku należy uruchomić to zadanie?

To zadanie musi zostać uruchomione przed użyciem twine w celu przekazania 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 usługa TwineAuthenticate skonfiguruje bliźniaczą reprezentację 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 bliźniaczej reprezentacji do korzystania z serwera proxy.

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

W poniższych przykładach pokazano, jak opublikować dystrybucję języka Python w kanale informacyjnym usługi Azure Artifacts i oficjalnym rejestrze języka Python.

Publikowanie dystrybucji języka Python w kanale informacyjnym usługi Azure Artifacts

W tym przykładzie ustawiamy uwierzytelnianie na potrzeby publikowania w prywatnym kanale informacyjnym usługi Azure Artifacts. Zadanie uwierzytelniania tworzy .pypirc plik zawierający poświadczenia uwierzytelniania wymagane do opublikowania dystrybucji w kanale informacyjnym.

# Install python distributions like wheel, twine etc
- script: |
     pip install wheel
     pip install twine
  
# Build the python distribution from source
- script: |
     python setup.py bdist_wheel
   
- task: TwineAuthenticate@1
  displayName: Twine Authenticate
  inputs:
    # In this case, name of the feed is 'myTestFeed' in the project 'myTestProject'. Project is needed because the feed is project scoped.
    artifactFeed: myTestProject/myTestFeed
  
# Use command line script to 'twine upload', use -r to pass the repository name and --config-file to pass the environment variable set by the authenticate task.
- script: |
     python -m twine upload -r myTestFeed --config-file $(PYPIRC_PATH) dist/*.whl

Dane artifactFeed wejściowe będą zawierać projekt i nazwę kanału informacyjnego, jeśli kanał informacyjny ma zakres projektu. Jeśli kanał informacyjny ma zakres organizacji, należy podać tylko nazwę kanału informacyjnego. Dowiedz się więcej.

Publikowanie dystrybucji języka Python w oficjalnym rejestrze języka Python

W tym przykładzie konfigurujemy uwierzytelnianie do publikowania w oficjalnym rejestrze języka Python. Utwórz wpis połączenia usługi bliźniaczej dla rozwiązania pypi. Zadanie uwierzytelniania używa tego połączenia usługi do utworzenia .pypirc pliku zawierającego poświadczenia uwierzytelniania wymagane do opublikowania dystrybucji.

# Install python distributions like wheel, twine etc
- script: |
     pip install wheel
     pip install twine
  
# Build the python distribution from source
- script: |
     python setup.py bdist_wheel
   
- task: TwineAuthenticate@1
  displayName: Twine Authenticate
  inputs:
    # In this case, name of the service connection is "pypitest".
    pythonUploadServiceConnection: pypitest
  
# Use command line script to 'twine upload', use -r to pass the repository name and --config-file to pass the environment variable set by the authenticate task.
- script: |
     python -m twine upload -r "pypitest" --config-file $(PYPIRC_PATH) dist/*.whl

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