PipAuthenticate@1 – úloha ověřování pip v Pythonu v1

Pomocí této úlohy můžete zajistit ověřování pro pip klienta, 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 informační kanály, které se mají ověřit jako přítomné v organizaci.


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

Určuje čárkami oddělený seznam názvů připojení služby pip z externích organizací pro ověřování pomocí nástroje pip.


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

Pokud je tato úloha nastavená na true, jako primární adresu URL indexu se nenastaví žá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ů i možnosti řízení. Další informace najdete v tématu Možnosti ovládacích prvků a běžné vlastnosti úlohy.

Výstupní proměnné

Žádné

Poznámky

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

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

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 volání této úlohy nebude mít přihlašovací údaje naskládané. Při každém spuštění úlohy se vymažou všechny dříve uložené přihlašovací údaje.

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

Ne. I když tato úloha sama bude fungovat za webovým proxy serverem, na který je váš agent nakonfigurovaný, nenakonfiguruje pip pro použití proxy serveru.

Pokud to chcete udělat, můžete:

  • Nastavte proměnné http_proxyprostředí a https_proxy volitelně no_proxy na nastavení proxy serveru. Podrobnosti najdete v oficiálních pokynech společnosti Pip . Jedná se o běžně používané proměnné, které můžou používat i jiné nástroje bez Pythonu (např. curl).

    Upozornění

    Proměnné http_proxy a no_proxy rozlišují malá a velká písmena v operačních systémech Linux a Mac a musí být malými písmeny. Pokus o nastavení proměnné prostředí pomocí proměnné Azure Pipelines 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.

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

Kanál potřebuje přístup ke 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 službě sestavení udělil přístup pro čtení a zápis. Další podrobnosti najdete v tématu Oprávnění balíčků ve službě Azure Pipelines .

Příklady

Stažení distribucí Pythonu z informačních kanálů Azure Artifacts bez konzultace s oficiálním registrem 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é PIP_INDEX_URL prostředí, PIP_EXTRA_INDEX_URL které jsou potřeba ke stažení distribucí. Úloha nastaví proměnné s ověřovacími přihlašovacími údaji, které úloha vygeneruje pro zadané informační kanály artefaktů. HelloTestPackage musí být buď v myTestFeed1 systému, nebo myTestFeed2. Jinak se instalace nezdaří.

U informačních kanálů vymezených na projektu, které jsou v jiném projektu, než kde je kanál spuštěný, musíte projektu a informačnímu kanálu ručně udělit přístup ke službě sestavení projektu 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 pak 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 podíváme na pypi . Úloha ověřování vytvoří proměnnou PIP_EXTRA_INDEX_URLprostředí , která obsahuje přihlašovací údaje ověřování vyžadované ke stažení distribucí. HelloTestPackage se stáhnou z ověřených informačních kanálů jenom v případě, že se nenachází v pypi.

U informačních kanálů vymezených na projektu, které jsou v jiném projektu, než kde je kanál spuštěný, musíte projektu a informačnímu kanálu ručně udělit přístup ke službě sestavení projektu 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 položku připojení služby pip pro externí službu. Úloha ověřování používá připojení služby k vytvoření proměnné PIP_INDEX_URLprostředí , která obsahuje přihlašovací údaje ověřování vyžadované ke stažení distribucí. HelloTestPackage musí být součástí pypitest připojení služby, jinak se instalace nezdaří. Pokud chcete, aby se nejprve poradil s pypi , 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ý build, 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ů Všechny
Nastavitelné proměnné Všechny
Verze agenta 2.144.0 nebo vyšší
Kategorie úloh Balíček
Požadavek Popis
Typy kanálů YAML, klasický build, 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ů Všechny
Nastavitelné proměnné Všechny
Verze agenta 2.120.0 nebo vyšší
Kategorie úloh Balíček