Udostępnij za pośrednictwem


TwineAuthenticate@1 — przekazywanie bliźniaczej reprezentacji języka Python uwierzytelniania w wersji 1 — zadanie uwierzytelniania

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) do polecenia przekazywania bliźniaczej reprezentacji. W przypadku kanałów informacyjnych znajdujących się w tej organizacji użyj nazwy źródła danych 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 name (select below). 
    #pythonUploadServiceConnection: # string. Feed from external organizations.
# 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 - Nazwa kanału informacyjnego (wybierz poniżej)
string.

Określa nazwę źródła danych 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.


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

Określa nazwę źródła danych 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 - kanał informacyjny z organizacji zewnętrznych
string.

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


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

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

Kiedy w potoku należy uruchomić to zadanie?

To zadanie musi zostać uruchomione przed użyciem bliźniaczej reprezentacji, aby przekazać dystrybucje 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źniacze reprezentacje 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 bliźniaczych reprezentacji do korzystania z serwera proxy.

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

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 plik .pypirc 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 wejściowe artifactFeed będą zawierać projekt i nazwę źródła danych, 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 pypi. Zadanie uwierzytelniania używa tego połączenia usługi do utworzenia pliku .pypirc 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 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