PipAuthenticate@1 - Python pip mengautentikasi tugas v1
Gunakan tugas ini untuk menyediakan autentikasi untuk pip
klien yang menginstal distribusi Python.
Sintaks
# 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.
Input
artifactFeeds
- Umpan saya (pilih di bawah)
string
.
Menentukan umpan untuk mengautentikasi seperti yang ada dalam organisasi.
pythonDownloadServiceConnections
- Umpan dari organisasi eksternal
string
.
Menentukan daftar nama koneksi layanan pip yang dipisahkan koma dari organisasi eksternal untuk diautentikasi dengan pip.
onlyAddExtraIndex
- Jangan atur URL indeks utama
boolean
. Nilai default: false
.
Jika tugas ini diatur ke true
, tidak ada umpan yang akan ditetapkan sebagai URL indeks utama. Semua umpan/titik akhir yang dikonfigurasi akan ditetapkan sebagai URL indeks tambahan.
Opsi kontrol tugas
Semua tugas memiliki opsi kontrol selain input tugas mereka. Untuk informasi selengkapnya, lihat Opsi kontrol dan properti tugas umum.
Variabel output
Tidak ada.
Keterangan
Menyediakan autentikasi untuk pip
klien yang digunakan untuk menginstal distribusi Python.
Kapan di alur saya harus menjalankan tugas ini?
Tugas ini harus berjalan sebelum Anda menggunakan pip untuk mengunduh distribusi Python ke sumber paket terautentikasi seperti Azure Artifacts. Tidak ada persyaratan pemesanan lainnya. Beberapa pemanggilan tugas ini tidak akan menumpuk kredensial. Setiap tugas yang dijalankan akan menghapus kredensial yang disimpan sebelumnya.
Agen saya berada di belakang proksi web. Apakah PipAuthenticate akan menyiapkan pip untuk menggunakan proksi saya?
Nomor. Meskipun tugas ini sendiri akan bekerja di belakang proksi web yang telah dikonfigurasi agen Anda untuk digunakan, tugas ini tidak mengonfigurasi pip untuk menggunakan proksi.
Untuk melakukannya, Anda dapat:
- Atur variabel
http_proxy
lingkungan ,https_proxy
dan secarano_proxy
opsional ke pengaturan proksi Anda. Lihat Pedoman resmi Pip untuk detailnya. Ini adalah variabel yang umum digunakan, yang juga dapat digunakan oleh alat non-Python lainnya (misalnya curl).Perhatian
Variabel
http_proxy
danno_proxy
peka huruf besar/kecil pada sistem operasi Linux dan Mac dan harus huruf kecil. Mencoba menggunakan variabel Azure Pipelines untuk mengatur variabel lingkungan tidak akan berfungsi, karena akan dikonversi ke huruf besar. Sebagai gantinya, atur variabel lingkungan pada mesin agen yang dihost sendiri dan mulai ulang agen. - Tambahkan pengaturan proksi ke file file konfigurasi pip menggunakan
proxy
kunci. --proxy
Gunakan opsi baris perintah untuk menentukan proksi dalam formulir[user:passwd@]proxy.server:port
.
Alur Saya perlu mengakses umpan dalam proyek yang berbeda
Jika alur berjalan dalam proyek yang berbeda dari proyek yang menghosting umpan, Anda harus menyiapkan proyek lain untuk memberikan akses baca/tulis ke layanan build. Lihat Izin paket di Azure Pipelines untuk detail selengkapnya.
Contoh
Unduh distribusi Python dari umpan Azure Artifacts tanpa berkonsultasi dengan registri resmi Python
Dalam contoh ini, kami mengatur autentikasi untuk mengunduh dari umpan Azure Artifacts privat. Tugas autentikasi membuat variabel PIP_INDEX_URL
lingkungan dan PIP_EXTRA_INDEX_URL
yang diperlukan untuk mengunduh distribusi. Tugas mengatur variabel dengan kredensial autentikasi yang dihasilkan tugas untuk umpan Artefak yang disediakan. HelloTestPackage
harus ada baik dalam atau myTestFeed1
myTestFeed2
; jika tidak, instalasi akan gagal.
Untuk umpan cakupan proyek yang berada dalam proyek yang berbeda dari tempat alur berjalan, Anda harus memberikan proyek dan akses umpan secara manual ke layanan build proyek alur.
- 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
Konsultasikan registri Python resmi lalu unduh distribusi Python dari umpan Azure Artifacts
Dalam contoh ini, kami mengatur autentikasi untuk mengunduh dari umpan Azure Artifacts privat, tetapi pypi dikonsultasikan terlebih dahulu. Tugas autentikasi membuat variabel PIP_EXTRA_INDEX_URL
lingkungan , yang berisi kredensial autentikasi yang diperlukan untuk mengunduh distribusi. HelloTestPackage
akan diunduh dari umpan yang diautentikasi hanya jika tidak ada di pypi.
Untuk umpan cakupan proyek yang berada dalam proyek yang berbeda dari tempat alur berjalan, Anda harus memberikan proyek dan akses umpan secara manual ke layanan build proyek alur.
- 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
Mengunduh distribusi Python dari server Python privat lainnya
Dalam contoh ini, kami mengatur autentikasi untuk mengunduh dari server distribusi Python eksternal. Buat entri koneksi layanan pip untuk layanan eksternal. Tugas autentikasi menggunakan koneksi layanan untuk membuat variabel PIP_INDEX_URL
lingkungan , yang berisi kredensial autentikasi yang diperlukan untuk mengunduh distribusi. HelloTestPackage
harus ada dalam pypitest
koneksi layanan; jika tidak, penginstalan akan gagal. Jika Anda ingin pypi dikonsultasikan terlebih dahulu, atur onlyAddExtraIndex
ke 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
Persyaratan
Persyaratan | Deskripsi |
---|---|
Jenis alur | YAML, Build klasik, Rilis klasik |
Berjalan pada | Agen, DeploymentGroup |
Permintaan | Tidak ada |
Kemampuan | Tugas ini tidak memenuhi tuntutan untuk tugas berikutnya dalam pekerjaan. |
Pembatasan perintah | Apa pun |
Variabel yang dapat diatur | Apa pun |
Versi agen | 2.144.0 atau lebih tinggi |
Kategori tugas | Paket |
Persyaratan | Deskripsi |
---|---|
Jenis alur | YAML, Build klasik, Rilis klasik |
Berjalan pada | Agen, DeploymentGroup |
Permintaan | Tidak ada |
Kemampuan | Tugas ini tidak memenuhi tuntutan untuk tugas berikutnya dalam pekerjaan. |
Pembatasan perintah | Apa pun |
Variabel yang dapat diatur | Apa pun |
Versi agen | 2.120.0 atau lebih tinggi |
Kategori tugas | Paket |