Görüntü gönderme
Azure Pipelines
Azure Pipelines, Azure Container Registry (acr), docker Hub, Google container kayıt defterleri ve diğerleri gibi kapsayıcı kayıt defterlerine görüntü göndermek için kullanılabilir.
Ardışık düzen içindeki gönderim adımı
Aşağıdaki YAML kod parçacığı, Docker kayıt defteri hizmet bağlantısının kullanımını, oturum açmak ve bir kapsayıcı kayıt defterine göndermek Için bir Docker göreviyle birlikte kullanmayı sağlar. Docker kayıt defteri hizmet bağlantısının örnekleri, görüntüyü göndermeden önce kapsayıcı kayıt defterinde oturum açmak için gereken kimlik bilgilerini depolamaya yönelik güvenli seçenekler olarak hizmet verir. Bu hizmet bağlantılarına, Docker oturumu için bir komut dosyası görevi eklemeye ve Kullanıcı adı ve parola için gizli değişkenlerin ayarlanmasına gerek olmadan kayıt defterinde oturum açmak üzere Docker görevinde doğrudan başvuru yapılabilir.
- task: Docker@2
displayName: Push image
inputs:
containerRegistry: |
$(dockerHub)
repository: $(imageName)
command: push
tags: |
test1
test2
Azure Container Registry
docker kayıt defteri hizmet bağlantısı'nın Azure Container Registry seçeneği altında, abonelik (Azure DevOps oturum açan kullanıcının AAD kimliğiyle ilişkili) ve abonelik içindeki kapsayıcı kayıt defteri, hizmet bağlantısını oluşturmak için seçilebilir. Bu hizmet bağlantılarına daha sonra, yukarıdaki YAML kod parçacığında gösterildiği gibi bir işlem hattı görevinden başvurulabilir.
dockerfile içeren bir depo için yeni bir işlem hattı oluşturmak için, Azure Container Registry oluşturma ve gönderme belgesi , depodaki dockerfile dosyasını algılayarak Azure Pipelines tarafından otomatik olarak önerilen docker şablonunu açıklar. şablon yapılandırması için sunulan Azure aboneliği ve Azure Container Registry girdileri, otomatik olarak docker kayıt defteri hizmet bağlantısını oluşturmak ve hatta oluşturulan hizmet bağlantısına başvurarak çalışan bir derleme ve anında iletme işlem hattı oluşturmak için Azure Pipelines tarafından kullanılır.
Docker Hub
Docker kayıt defteri hizmet bağlantısı altında Docker Hub seçeneğini belirleyin ve hizmet bağlantısını doğrulamak ve oluşturmak için gereken kullanıcı adını ve parolayı belirtin.
Google Container Registry
Aşağıdaki adımlar, Google Container Registry ile ilişkili Docker kayıt defteri hizmeti bağlantısı oluşturma işleminde size yol gösterir:
Projenizi GCP konsolunda açın ve Cloud Shell açın
Proje KIMLIĞI ve Işlem altyapısı bölge seçeneklerinizi yazarken zaman kazanmak için aşağıdaki komutları çalıştırarak varsayılan yapılandırma değerlerini ayarlayın:
gcloud config set project [PROJECT_NAME] gcloud config set compute/zone [ZONE][PROJECT_NAME]Değerini GCP projenizin adıyla değiştirin ve[ZONE]kaynak oluşturmak için kullanacağınız bölgenin adıyla değiştirin. Hangi bölgenin seçeceğinden emin değilseniz, kullanınus-central1-a. Örnek:gcloud config set project azure-pipelines-test-project-12345 gcloud config set compute/zone us-central1-aProjeniz için Container Registry API 'sini etkinleştirin:
gcloud services enable containerregistry.googleapis.comdocker görüntülerini yayımlamak için Azure Pipelines bir hizmet hesabı oluşturun:
gcloud iam service-accounts create azure-pipelines-publisher --display-name "Azure Pipelines Publisher"Depolama yönetici ıam rolünü hizmet hesabına atayın:
PROJECT_NUMBER=$(gcloud projects describe \ $(gcloud config get-value core/project) \ --format='value(projectNumber)') AZURE_PIPELINES_PUBLISHER=$(gcloud iam service-accounts list \ --filter="displayName:Azure Pipelines Publisher" \ --format='value(email)') gcloud projects add-iam-policy-binding \ $(gcloud config get-value core/project) \ --member serviceAccount:$AZURE_PIPELINES_PUBLISHER \ --role roles/storage.adminHizmet hesabı anahtarı oluştur:
gcloud iam service-accounts keys create \ azure-pipelines-publisher.json --iam-account $AZURE_PIPELINES_PUBLISHER tr -d '\n' < azure-pipelines-publisher.json > azure-pipelines-publisher-oneline.jsonCloud Shell sağ üst köşesindeki düğmeye tıklayarak kod düzenleyiciyi başlatın:

named azure-pipelines-publisher-oneline.jsondosyasını açın. Aşağıdaki adımlardan birinde bu dosyanın içeriğine ihtiyacınız olacaktır:Azure DevOps kuruluşunuzda Project ayarlar ' ı ve ardından Pipelines- hizmet bağlantıları' nı seçin.
Yeni hizmet bağlantısı ' na tıklayıp Docker kayıt defteri ' ni seçin
İletişim kutusunda, aşağıdaki alanlar için değerler girin:
- Docker kayıt defteri: , burada
[PROJECT-ID]GCP projenizin adıdır. - Docker KIMLIĞI:
- Docker parolası: İçeriğini yapıştırın
- Hizmet bağlantı adı:
- Hizmet bağlantısını oluşturmak için Kaydet ' e tıklayın