Hızlı Başlangıç: Görüntü oluşturma
Azure Pipelines
Kullanmaya başlayın oluşturmak için Azure Pipelines kullanarak kapsayıcı görüntüleriyle birlikte kullanın. Görüntü oluşturmak için tek ihtiyacınız olan depoda bir Dockerfile dosyası oluşturmaktır.
İşlem hattında hangi aracıyı kullandığınıza bağlı Windows linux ve Windows kapsayıcıları da derlemeniz gerekir. Bir görüntü derlemeden sonra bunu Azure Container Registry, Docker Hub ve Google Container kayıt defterine itebilirsiniz. Kapsayıcı kayıt defterleri ile görüntü itme hakkında daha fazla bilgi edinmek için bkz. görüntü anından itme.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir hesap oluşturun.
- GitHub hesabı. Yoksa ücretsiz olarak kaydol.
- Dockerfile GitHub depo. Kullanabileceğiniz bir depo yoksa, örnek uygulama ve Dockerfile içeren bu deponun için bir fork alın:
https://github.com/MicrosoftDocs/pipelines-javascript-docker
Linux veya Windows oluşturma
Azure DevOps oturum açma ve projenize gidin.
Pipelines'agidin ve Yeni İşlem Hattı'ı seçin.
Kaynak GitHub konumu olarak kaynak kodunuzu seçin ve sonra da depoyu seçin.
Not
Oturum açmanız için GitHub yönlendirilmesine neden olabilir. Öyleyse, kimlik bilgilerinizi GitHub girin. Azure Pipelines uygulamasını yüklemek için GitHub yönlendirebilirsiniz. Öyleyse Onayla'yi seçin ve yükleyin.
Başlangıç işlem hattı'ı seçin. azure-pipelines.yml içeriğini bu kodla değiştirin. Bir Linux uygulaması kullanıyorsanız, için
ubuntu-1604vmImagekullanın. Bu, sizinwindows-latestiçinvmImageWindows.trigger: - main pool: vmImage: 'ubuntu-latest' # set to windows-latest or another Windows vmImage for Windows builds variables: imageName: 'pipelines-javascript-docker' steps: - task: Docker@2 displayName: Build an image inputs: repository: $(imageName) command: build Dockerfile: app/DockerfileWindows kapsayıcı görüntüleri Microsoft tarafından barındırılan Windows aracıları veya Windows platformu tabanlı kendi kendine barındırılan aracılar kullanılarak (Tüm Microsoft tarafından barındırılan Windows platform tabanlı aracılar Moby altyapısı ve Docker derlemeleri için gereken istemci ile birlikte gönderilir). Linux kapsayıcı görüntüleri, Microsoft tarafından barındırılan Ubuntu aracıları veya Linux platformu tabanlı kendi kendine barındırılan aracılar kullanılarak kullanılabilir. Microsoft tarafından barındırılan aracılarla Windows linux aracısı seçenekleri hakkında daha fazla bilgi edinmek için kullanın.
Not
Şu anda Microsoft tarafından barındırılan MacOS aracıları kapsayıcı görüntüleri oluşturmak için kullanılamaz çünkü görüntüleri oluşturmak için gereken Moby altyapısı bu aracılara önceden yüklenmez.
Kaydet ve çalıştır’ı seçin. Depoya eklerken işleme iletisi ekleme
azure-pipelines.ymlistemini alırsınız. İletiyi düzenleyin ve kaydet'i seçin ve işlem hattının nasıl çalıştırlı olduğunu görmek için yeniden çalıştırın.İpucu
Görüntüyü Azure Container Registry'a veya Google Container Registry veya Docker Hub gibi diğer kapsayıcı kayıt defterlerini Container Registry hakkında daha fazla Docker Hub. Yukarıdaki örnekte kullanılan Docker görevi hakkında daha fazla bilgi alın. Önerilen Docker görevini kullanmak yerine docker komutlarını doğrudan bir komut satırı görevi (betik) kullanarak çağırmak damümkündür
Kaynakları temizleme
Bu uygulamayı kullanmaya devam edecek değilken işlem hattınızı ve kod deposunu silin.
SSS
Barındırılan aracılarda hangi önceden önbelleğe alınmış görüntüler kullanılabilir?
Yaygın olarak kullanılan bazı görüntüler, her iş için kapsayıcı kayıt defterinden bu görüntüleri çekmek için uzun zaman aralıklarından kaçınmak için Microsoft tarafından barındırılan aracılarda önceden önbelleğe alınmışlardır. Önceden önbelleğe alınmış görüntülerin listesi, azure-pipelines-image-generation deposunun sürüm notlarında mevcuttur.
Nasıl yaparım? derlemelerim için BuildKit değişkenlerini ayarlay musunuz?
BuildKit performans, depolama yönetimi, özellik işlevselliği ve güvenlik alanlarında derleme geliştirmeleri sunar. BuildKit tabanlı docker derlemelerini etkinleştirmek için DOCKER_BUILDKIT ayarlayın.
trigger:
- main
pool:
vmImage: 'ubuntu-latest'
variables:
imageName: 'pipelines-javascript-docker'
DOCKER_BUILDKIT: 1
steps:
- task: Docker@2
displayName: Build an image
inputs:
repository: $(imageName)
command: build
Dockerfile: app/Dockerfile
Not
BuildKit şu anda tek bir konakta Windows değildir.
Kendinden konak aracıyı nasıl kullanabilirim?
Kapsayıcı görüntüsü oluşturmadan önce docker'ın kendi kendine barındırılan makinenize yüklenmiş olması gerekir. Docker yükleyici görevini işlem hattınıza, görüntülerinizi derlemek için docker görevine ekleyin.
Docker görevini kullanmak yerine betik tabanlı Docker derlemesi nasıl oluşturabilirim?
komutunu (veya başka build bir Docker komutunu) kullanabilirsiniz.
docker build -f Dockerfile -t foobar.azurecr.io/hello:world .
Bu komut, Docker göreviyle bir görüntüyle eşdeğer bir görüntü oluşturur. Docker görevi, bir betikte Docker ikili dosyasını dahili olarak çağırarak birkaç komutu daha bir araya çağırarak birkaç avantaj daha sunar. Docker görevi belgelerinde daha fazla bilgi edinebilirsiniz.
Derlemeler sırasında katman önbelleğe alma özelliğini yeniden Azure Pipelines?
Microsoft tarafından barındırılan aracıların geçerli tasarımında, her iş yeni sağlanan bir sanal makineye gönderilir (azure-pipelines-image-generation repository şablonlarından oluşturulan görüntüye göre). Bu sanal makineler, iş tamamlandıktan sonra temizlenir, kalıcı olmaz ve bu nedenle sonraki işler için yeniden kullanılamaz. Sanal makinelerin kısa ömürlü yapısı, önbelleğe alınmış Docker katmanlarının yeniden kullanılmasına engel olur.
Ancak, kısa ömürlü yaşam süresi sorunu bu aracılar için geçerli olduğundan docker katmanlarını kendi içinde barındırılan aracılarla önbelleğe alınabilirsiniz.
x64 dışında mimariler için Linux kapsayıcı görüntüleri nasıl derlir?
Microsoft tarafından barındırılan Linux aracılarını kullanarak x64 mimarisi için Linux kapsayıcı görüntüleri oluşturabilirsiniz. Diğer mimarilere (örneğin x86 veya ARM) yönelik görüntüler oluşturmak için QEMUgibi bir makine öykünücüsü kullanabilirsiniz. Aşağıdaki adımlar QEMU kullanarak ARM kapsayıcı görüntüsü oluşturma adımlarını göstermektedir:
Dockerfile dosyanızı hedef mimariyle eşleşen bir temel görüntüyle yazma:
FROM arm64v8/alpine:latestGörüntüyü derlemeden önce işinize aşağıdaki betiği çalıştırın:
# register QEMU binary - this can be done by running the following image docker run --rm --privileged multiarch/qemu-user-static --reset -p yes # build your image
Daha fazla bilgi için bkz. Qemu-user-static GitHub.
Kapsayıcılı uygulamalar için testleri çalıştırma ve test sonuçlarını yayımlama
Kapsayıcılı uygulamaları test etme ve sonuçta elde edilen test sonuçlarını yayımlamayla ilgili farklı seçenekler için Yayımlama Test Sonuçları bakın.
Sonraki adımlar
Kapsayıcı kayıt defterine görüntü itme hakkında bilgi edinmek için sonraki makaleye ilerleyin.