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_proxy
prostředí ahttps_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
ano_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_URL
prostř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_URL
prostř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 |