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?
- Mój agent znajduje się za internetowym serwerem proxy. Czy usługa TwineAuthenticate skonfiguruje bliźniacze reprezentacje 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 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
- publikowanie dystrybucji języka Python w 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 |