PipAuthenticate@1 - Python pip kimlik doğrulaması v1 görevi

Python dağıtımlarını yükleyen istemci için kimlik doğrulaması sağlamak için pip bu görevi kullanın.

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.

Girişler

artifactFeeds - Akışlarım (aşağıdan seçin)
string.

Kuruluşta olduğu gibi kimlik doğrulaması için akışları belirtir.


pythonDownloadServiceConnections - Dış kuruluşlardan gelen akışlar
string.

Pip ile kimlik doğrulaması yapmak için dış kuruluşların pip hizmeti bağlantı adlarının virgülle ayrılmış bir listesini belirtir.


onlyAddExtraIndex - Birincil dizin URL'sini ayarlama
boolean. Varsayılan değer: false.

Bu görev olarak trueayarlanırsa, birincil dizin URL'si olarak hiçbir akış ayarlanamaz. Yapılandırılan tüm akışlar/uç noktalar ek dizin URL'leri olarak ayarlanır.


Görev denetimi seçenekleri

Tüm görevlerin, görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz . Denetim seçenekleri ve ortak görev özellikleri.

Çıkış değişkenleri

Yok.

Açıklamalar

Python dağıtımlarını yüklemek için kullanılan istemci için pip kimlik doğrulaması sağlar.

İşlem hattımda ne zaman bu görevi çalıştırmalıyım?

Python dağıtımlarını Azure Artifacts gibi kimliği doğrulanmış bir paket kaynağına indirmek için pip kullanmadan önce bu görev çalıştırılmalıdır. Başka sıralama gereksinimi yoktur. Bu görevin birden çok çağrısı kimlik bilgilerini yığınlamaz. Görevin her çalıştırması önceden depolanan tüm kimlik bilgilerini siler.

Aracım bir web ara sunucusunun arkasında. PipAuthenticate, pip'i ara sunucumu kullanacak şekilde ayarlayacak mı?

Hayır. Bu görev, aracınızın kullanmak üzere yapılandırıldığı bir web ara sunucusunun arkasında çalışsa da pip'i ara sunucuyu kullanacak şekilde yapılandırmaz.

Bunu yapmak için şunları yapabilirsiniz:

  • ortam değişkenlerini http_proxyhttps_proxy ve isteğe bağlı olarak no_proxy ara sunucu ayarlarınızı ayarlayın. Ayrıntılar için bkz. Pip resmi yönergeleri . Bunlar yaygın olarak kullanılan değişkenlerdir ve python olmayan diğer araçlar (ör. curl) tarafından da kullanılabilir.

    Dikkat

    http_proxy Ve no_proxy değişkenleri Linux ve Mac işletim sistemlerinde büyük/küçük harfe duyarlıdır ve küçük harfle yazılmalıdır. Ortam değişkenini ayarlamak için bir Azure Pipelines değişkeni kullanılmaya çalışılması işe yaramaz, bu nedenle büyük harfe dönüştürülür. Bunun yerine, şirket içi barındırılan aracının makinesinde ortam değişkenlerini ayarlayın ve aracıyı yeniden başlatın.

  • Anahtarı kullanarak proxy ara sunucu ayarlarını pip yapılandırma dosyasına ekleyin.
  • --proxy biçiminde [user:passwd@]proxy.server:portara sunucu belirtmek için komut satırı seçeneğini kullanın.

İşlem Hattımın farklı bir projedeki akışa erişmesi gerekiyor

İşlem hattı akışı barındıran projeden farklı bir projede çalışıyorsa, diğer projeyi derleme hizmetine okuma/yazma erişimi vermek üzere ayarlamanız gerekir. Diğer ayrıntılar için bkz. Azure Pipelines'da paket izinleri .

Örnekler

Resmi Python kayıt defterine danışmadan Azure Artifacts akışlarından Python dağıtımlarını indirme

Bu örnekte, özel Azure Artifacts akışlarından indirme için kimlik doğrulamasını ayarlıyoruz. Kimlik doğrulama görevi ortam değişkenleri PIP_INDEX_URL oluşturur ve PIP_EXTRA_INDEX_URL bu değişkenlerin dağıtımları indirmesi gerekir. Görev, sağlanan Yapıtlar akışları için oluşturduğu kimlik doğrulaması kimlik bilgileriyle değişkenleri ayarlar. HelloTestPackageveya myTestFeed2içinde myTestFeed1 mevcut olmalıdır; aksi takdirde yükleme başarısız olur.

İşlem hattının çalıştırıldığı projeden farklı bir projede yer alan proje kapsamlı akışlar için, projeye ve akışa işlem hattının derleme hizmetine el ile erişim vermeniz gerekir.

- 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

Resmi Python kayıt defterine başvurun ve ardından Azure Artifacts akışlarından Python dağıtımlarını indirin

Bu örnekte, özel bir Azure Artifacts akışından indirme için kimlik doğrulamasını ayarlıyoruz, ancak önce pypi'ye danışılır. Kimlik doğrulama görevi, dağıtımları indirmek için gereken kimlik doğrulama kimlik bilgilerini içeren bir ortam değişkeni PIP_EXTRA_INDEX_URLoluşturur. HelloTestPackage yalnızca pypi'de mevcut değilse kimliği doğrulanmış akışlardan indirilir.

İşlem hattının çalıştırıldığı projeden farklı bir projede yer alan proje kapsamlı akışlar için, projeye ve akışa işlem hattının derleme hizmetine el ile erişim vermeniz gerekir.

- 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

Diğer özel Python sunucularından Python dağıtımlarını indirme

Bu örnekte, dış Python dağıtım sunucusundan indirme için kimlik doğrulamasını ayarlıyoruz. Dış hizmet için bir pip hizmeti bağlantı girişi oluşturun. Kimlik doğrulama görevi, dağıtımları indirmek için gereken kimlik doğrulama kimlik bilgilerini içeren bir ortam değişkeni PIP_INDEX_URLoluşturmak için hizmet bağlantısını kullanır. HelloTestPackage hizmet bağlantısında pypitest mevcut olmalıdır; aksi takdirde yükleme başarısız olur. Önce pypi'ye danışılmasını istiyorsanız olarak ayarlayın onlyAddExtraIndextrue.

- 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

Gereksinimler

Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme, Klasik sürüm
Üzerinde çalışır Agent, DeploymentGroup
Talep Hiçbiri
Özellikler Bu görev, işteki sonraki görevler için hiçbir talebi karşılamaz.
Komut kısıtlamaları Herhangi biri
Ayarlanabilir değişkenler Herhangi biri
Aracı sürümü 2.144.0 veya üzeri
Görev kategorisi Paket
Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme, Klasik sürüm
Üzerinde çalışır Agent, DeploymentGroup
Talep Hiçbiri
Özellikler Bu görev, işteki sonraki görevler için hiçbir talebi karşılamaz.
Komut kısıtlamaları Herhangi biri
Ayarlanabilir değişkenler Herhangi biri
Aracı sürümü 2.120.0 veya üzeri
Görev kategorisi Paket