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_proxylingkungan , https_proxy dan secara no_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 dan no_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 myTestFeed1myTestFeed2; 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_URLlingkungan , 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_URLlingkungan , 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