Görüntüyü güncelleştirme ve web uygulamasını otomatik olarak yeniden dağıtma

Tamamlandı

Sürekli dağıtım hızlı tempolu birçok kuruluşta kilit önem taşıyan bir özelliktir. Yazılımlarının en son sürümünü hızla ama telaşa neden olmadan dağıtmaları gerekir.

Örnek senaryoda, dağıtım takımı web uygulamasına düzenli aralıklarla yeni özellikler ve iyileştirmeler ekliyor. Bu nedenle takım, sürekli dağıtım yaklaşımını benimsemeye karar vermiştir.

Bu ünitede, Azure Container Registry’deki bir görüntüyü kullanan web uygulamasının sürekli dağıtımını yapılandıracaksınız.

Web kancası nedir?

Azure App Service web kancalarını kullanarak yapılan sürekli dağıtımı destekler. Web kancası, Container Registry tarafından sunulan bir hizmettir. Hizmetler ve uygulamalar kayıt defterindeki görüntülerde yapılan güncelleştirmelerle ilgili bildirim almak için web kancasına abone olabilir. App Service kullanan bir web uygulaması, web uygulamasını içeren görüntü güncelleştirmeleri hakkında bildirim almak için container registry web kancasına abone olabilir. Görüntü güncelleştirildiğinde ve App Servis bildirim aldığında, uygulamanız otomatik olarak siteyi yeniden başlatır ve görüntünün en son sürümünü çeker.

Azure Container Registry görevleri özelliği nedir?

Kaynak kodu her değiştiğinde görüntünüzün otomatik olarak yeniden derlenmesi için Container Registry’nin görevler özelliğini kullanırsınız. Kodunuzu içeren GitHub deposunu izlemek ve kod her değiştiğinde bir derleme tetiklemek için bir Container Registry görevi yapılandırırsınız. Derleme başarıyla tamamlanırsa Container Registry, görüntüyü depoya yerleştirebilir. Web uygulamanız App Service’de sürekli tümleştirme için ayarlandıysa web kancası üzerinden bildirim alır ve uygulamayı güncelleştirir.

Bu iki özelliği kullanarak App Service’den sürekli tümleştirmeyi etkinleştirelim.

App Service'den sürekli tümleştirmeyi etkinleştirme

Azure portalındaki App Service kaynağının Kapsayıcı ayarları sayfasında sürekli tümleştirmenin ayarlanması otomatikleştirilir. Sürekli Dağıtım'ı açarsanız, App Service kapsayıcı kayıt defterinizdeki web kancasını App Service uç noktasına bildirim gönderecek şekilde yapılandırır. Kayıt defterinden gönderilip bu uç noktaya ulaşan bildirimler uygulamanızın yeniden başlatılmasına ve kapsayıcı görüntüsünün en son sürümünü çekmesine neden olur.

Azure Container Registry görevi kullanarak sürekli tümleştirmeyi kaynak denetimine genişletme

Komut satırından Container Registry görevleri oluşturmanız gerekir. az acr build Görüntümüzü oluşturmak için daha önce çalıştırdığımız komutun az acr task create aksine, komut uzun ömürlü bir görev oluşturur ve kaydeder.

Aşağıdaki komut buildwebapp adlı görevin nasıl oluşturulduğunu gösterir. Görev, bu modülün kullandığı örnek web uygulaması için GitHub deposunu izler. Her değişiklik teslim edildiğinde, görev GitHub'daki kaynak koddan webimage Docker görüntüsünü derler ve bunu Container Registry'de kayıt defterinizde depolar. Bu komutu çalıştırmadan önce, deponuzda web kancası oluşturmaya yönelik izinler içeren bir GitHub kişisel erişim belirteci oluşturmanız gerekir. Bu belirtecin özel depolar için tam depo okuma izinlerine sahip olması gerekir.

az acr task create --registry <container_registry_name> --name buildwebapp --image webimage --context https://github.com/MicrosoftDocs/mslearn-deploy-run-container-app-service.git --file Dockerfile --git-access-token <access_token>