Bagikan melalui


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?

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 opsional no_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 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 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 untuk layanan eksternal. Tugas autentikasi menggunakan koneksi layanan untuk membuat variabel lingkungan 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 pypi dikonsultasikan terlebih dahulu, atur ke .

- 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