PipAuthenticate@1 – Úloha ověření pythonového pipu v1

Pomocí této úlohy můžete poskytnout ověřování pro klienta pip, který instaluje distribuce Pythonu.

Syntax

# 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.

Vstupy

artifactFeeds - Moje informační kanály (vyberte níže)
string.

Určuje čárkami oddělený seznam informačních kanálů Azure Artifacts pro ověření pomocí pipu.


informační kanály pythonDownloadServiceConnections - od externích organizací
string.

Určuje čárkami oddělený seznam připojení služby pip názvy externích organizací, které se mají ověřit pomocí pipu.


onlyAddExtraIndex - Nenastavujte adresu URL primárního indexu
boolean. Výchozí hodnota: false.

Pokud je tato úloha nastavená na true, nebude jako adresa URL primárního indexu nastaven žádný informační kanál. Všechny nakonfigurované informační kanály a koncové body se nastaví jako extra adresy URL indexu.


Možnosti řízení úkolů

Všechny úkoly mají kromě vstupů úkolů také možnosti řízení. Další informace naleznete v tématu Možnosti ovládacího prvku a běžné vlastnosti úloh.

Výstupní proměnné

Žádný.

Poznámky

Poskytuje ověřování pro klienta pip, který se používá k instalaci distribucí Pythonu.

Kdy mám tuto úlohu spustit v kanálu?

Tato úloha se musí spustit před použitím nástroje pip ke stažení distribucí Pythonu do ověřeného zdroje balíčku, jako je Azure Artifacts. Neexistují žádné další požadavky na řazení. Více vyvolání této úlohy nebude naskládat přihlašovací údaje. Každé spuštění úlohy vymaže všechny dříve uložené přihlašovací údaje.

Co když chci, aby kanály mohly ukládat z upstreamových zdrojů?

Zkontrolujte tabulku oprávnění a zjistěte, jaká oprávnění má kanál mít. Pak určete, kterým identitě chcete těmto oprávněním udělit. Pokud chcete ukládat balíčky z upstreamových zdrojů, vaše identita potřebuje Feed and Upstream Reader (Collaborator) oprávnění.

Můj agent je za webovým proxy serverem. Nastaví pipAuthenticate tak, aby používal můj proxy server?

Ne. I když tato úloha bude fungovat za webovým proxy serverem, který váš agent nakonfiguroval tak, aby používal, nenakonfiguruje pip tak, aby používal proxy server.

Můžete to udělat takto:

  • Nastavte proměnné prostředí http_proxy, https_proxy a volitelně no_proxy na nastavení proxy serveru. Podrobnosti najdete v oficiální pokyny pipu. Jedná se o běžně používané proměnné, které můžou používat i jiné nástroje než Python (např. curl).

    Opatrnost

    Proměnné http_proxy a no_proxy v operačních systémech Linux a Mac rozlišují velká a malá písmena. Pokus o použití proměnné Azure Pipelines k nastavení proměnné prostředí nebude fungovat, protože se převede na velká písmena. Místo toho nastavte proměnné prostředí na počítači agenta v místním prostředí a restartujte agenta.

  • Pomocí klíče přidejte nastavení proxy serveru do konfiguračního souboru proxy souboru.
  • Pomocí možnosti --proxy příkazového řádku zadejte proxy ve formuláři [user:passwd@]proxy.server:port.

Kanál potřebuje přístup k informačnímu kanálu v jiném projektu

Pokud kanál běží v jiném projektu, než je projekt, který je hostitelem informačního kanálu, musíte nastavit druhý projekt tak, aby udělil službě sestavení přístup pro čtení a zápis. Další podrobnosti najdete v tématu Oprávnění balíčku ve službě Azure Pipelines.

Příklady

Stažení distribucí Pythonu z informačních kanálů Azure Artifacts bez konzultace oficiálního registru Pythonu

V tomto příkladu nastavujeme ověřování pro stahování z privátních informačních kanálů Azure Artifacts. Úloha ověřování vytvoří proměnné prostředí PIP_INDEX_URL a PIP_EXTRA_INDEX_URL, které jsou potřeba ke stažení distribucí. Úloha nastaví proměnné pomocí přihlašovacích údajů pro ověřování, které úloha vygeneruje pro poskytnuté informační kanály Artifacts. HelloTestPackage musí být přítomny v myTestFeed1 nebo myTestFeed2; jinak instalace selže.

U kanálů vymezených projektem, které jsou v jiném projektu než v místě, kde je kanál spuštěný, je nutné projekt udělit ručně a přístup informačního kanálu ke službě sestavení kanálu.

- 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

Projděte si oficiální registr Pythonu a stáhněte distribuce Pythonu z informačních kanálů Azure Artifacts.

V tomto příkladu nastavujeme ověřování pro stahování z privátního informačního kanálu Azure Artifacts, ale nejprve se pypi. Úloha ověřování vytvoří proměnnou prostředí PIP_EXTRA_INDEX_URL, která obsahuje přihlašovací údaje pro ověření potřebné ke stažení distribucí. HelloTestPackage se stáhnou z ověřených informačních kanálů pouze v případě, že se nenachází v pypi.

U kanálů vymezených projektem, které jsou v jiném projektu než v místě, kde je kanál spuštěný, je nutné projekt udělit ručně a přístup informačního kanálu ke službě sestavení kanálu.

- 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

Stažení distribucí Pythonu z jiných privátních serverů Pythonu

V tomto příkladu nastavujeme ověřování pro stahování z externího distribučního serveru Pythonu. Vytvořte pro externí službu položku připojení služby pip. Úloha ověřování používá připojení služby k vytvoření proměnné prostředí PIP_INDEX_URL, která obsahuje přihlašovací údaje ověřování potřebné ke stažení distribucí. HelloTestPackage musí být přítomny v připojení služby pypitest; jinak instalace selže. Pokud chcete, aby pypi nejprve prohlédli, nastavte onlyAddExtraIndex na true.

- 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

Požadavky

Požadavek Popis
Typy kanálů YAML, klasické sestavení, klasická verze
Běží na Agent, DeploymentGroup
požadavky Žádný
možnosti Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze.
omezení příkazů Jakýkoliv
nastavitelné proměnné Jakýkoliv
Verze agenta 2.144.0 nebo vyšší
Kategorie úkolu Balíček
Požadavek Popis
Typy kanálů YAML, klasické sestavení, klasická verze
Běží na Agent, DeploymentGroup
požadavky Žádný
možnosti Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze.
omezení příkazů Jakýkoliv
nastavitelné proměnné Jakýkoliv
Verze agenta 2.120.0 nebo novější
Kategorie úkolu Balíček