PipAuthenticate@1 - Python pip mengautentikasi tugas v1
Gunakan tugas ini untuk menyediakan autentikasi untuk klien pip
yang menginstal distribusi Python.
Sintaksis
# 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 daftar umpan Azure Artifacts yang dipisahkan koma untuk diautentikasi dengan pip.
Umpan pythonDownloadServiceConnections
- dari organisasi eksternal
string
.
Menentukan daftar koneksi layanan pip yang dipisahkan koma nama 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 tugasnya. Untuk informasi selengkapnya, lihat opsi Kontrol dan properti tugas umum.
Variabel output
Tidak.
Komentar
Menyediakan autentikasi untuk klien pip
yang digunakan untuk menginstal distribusi Python.
- Kapan dalam alur saya harus menjalankan tugas ini?
- Bagaimana jika saya ingin alur saya dapat menyimpan dari sumber hulu?
- Agen saya berada di belakang proksi web. Apakah PipAuthenticate akan menyiapkan pip untuk menggunakan proksi saya?
- Alur Saya perlu mengakses umpan di proyek lain
Kapan dalam 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.
Bagaimana jika saya ingin alur saya dapat menyimpan dari sumber hulu?
Periksa tabel izin untuk menentukan izin apa yang Anda inginkan untuk alur Anda miliki. Kemudian, tentukan identitas mana yang ingin Anda berikan izin tersebut. Untuk menyimpan paket dari sumber hulu, identitas Anda memerlukan izin Feed and Upstream Reader (Collaborator)
.
Agen saya berada di belakang proksi web. Apakah PipAuthenticate akan menyiapkan pip untuk menggunakan proksi saya?
Tidak. Meskipun tugas ini sendiri akan bekerja di belakang proksi web yang telah dikonfigurasi agen Anda untuk menggunakan, tugas ini tidak mengonfigurasi pip untuk menggunakan proksi.
Untuk melakukannya, Anda dapat:
- Atur variabel lingkungan
http_proxy
,https_proxy
dan secara opsionalno_proxy
ke pengaturan proksi Anda. Lihat panduan resmi Pip untuk detailnya. Ini adalah variabel yang umum digunakan, yang juga dapat digunakan oleh alat non-Python lainnya (misalnya curl).Hati
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 komputer agen yang dihost sendiri dan mulai ulang agen. - Tambahkan pengaturan proksi ke file konfigurasi pip file menggunakan kunci
proxy
. - Gunakan opsi baris perintah
--proxy
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 Python resmi
Dalam contoh ini, kami mengatur autentikasi untuk mengunduh dari umpan Azure Artifacts privat. Tugas autentikasi membuat variabel lingkungan PIP_INDEX_URL
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 di myTestFeed1
atau myTestFeed2
; jika tidak, penginstalan 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
Lihat 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 lingkungan PIP_EXTRA_INDEX_URL
, yang berisi kredensial autentikasi yang diperlukan untuk mengunduh distribusi.
HelloTestPackage
akan diunduh dari umpan terautentikasi 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 PIP_INDEX_URL
, yang berisi kredensial autentikasi yang diperlukan untuk mengunduh distribusi.
HelloTestPackage
harus ada dalam koneksi layanan pypitest
; jika tidak, penginstalan akan gagal. Jika Anda ingin
- 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
Syarat | Deskripsi |
---|---|
Jenis alur | YAML, Build klasik, Rilis klasik |
Berjalan pada | Agen, DeploymentGroup |
Permintaan |
Tidak |
Kemampuan |
Tugas ini tidak memenuhi tuntutan apa pun 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 |
Syarat | Deskripsi |
---|---|
Jenis alur | YAML, Build klasik, Rilis klasik |
Berjalan pada | Agen, DeploymentGroup |
Permintaan |
Tidak |
Kemampuan |
Tugas ini tidak memenuhi tuntutan apa pun 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 |