Dağıtım işlem hattını tasarlama

Tamamlandı

Bu ünitede projenizin gereksinimlerini desteklemek için bir CI/CD işlem hattı tasarlaacaksınız. Contoso Video web sitesinin, üretime yayımlanmak üzere etiketlenmiş ana dala yapılan her başarılı gönderimden sonra Azure Kubernetes Service'te (AKS) yayımlanmasını istiyorsunuz. Etiketleme tasarımı, üretime giden her dağıtımın sürümünü denetlemeyi kolaylaştırır.

Ayrıca, gönderimin üretime yayın için etiketlenip etiketlenmediğine bakılmaksızın web sitesini ana dala yapılan her gönderimden sonra test için bir hazırlama ortamına dağıtmak istiyorsunuz. Farklı kapsayıcı görüntülerini Azure Container Registry'ye gönderirken yönlendirmek için etiketleri kullanabilirsiniz.

İşlem hattını tasarlama

İşlem hattını tasarlamak için görevleri ve tetikleyicileri göz önünde bulundurun.

Tetikleyiciler

İşlem hattınızın iki farklı olayda tetiklenmesi gerekir:

  • Ana dala etiketli gönderim.
  • Ana dala etiketlenmemiş bir gönderme.

etiketli gönderim eylemleri etiketlenmemiş gönderme eylemlerinden farklı olduğundan, iki olayı iki ayrı tetikleyiciye bölersiniz. Etiketli gönderim üretime dağıtılırken, etiketsiz gönderim hazırlama ortamına dağıtılır. Aşağıdaki diyagramda işlem hattı için iki tetikleyici gösterilmektedir:

Diagram that shows two types of pipeline triggers.

Tetikleyicileri tanımladıktan sonra işlem hattı akışının kendisini planlayın.

1. Adım: Depoyu kopyalama

İlk adımlar , yapılandırmayı hazırladığınız ve görüntüyü AKS kümesine göndermeden önce derlediğiniz derleme adımlarıdır. Derleme adımlarında, dağıtım adımı için gereken tüm bilgileri ayarlarsınız. Bu durumda, tetikleyici sinyalini aldıktan sonraki ilk derleme adımı, depoyu kopyalamak için her iki tetikleyici için de aynıdır.

Diagram that shows the procession from triggers to the first build step in a pipeline.

2. Adım: Görüntüyü oluşturma

Sonraki mantıksal adım bir görüntü oluşturmaktır. AKS ortamında çalıştırılabilmesi için web sitesinin bir Docker görüntüsü olması gerekir. Deponun kökündeki Dockerfile dosyasını kullanarak yeni görüntüyü oluşturmanız gerekir. Burada farklı tetikleyicileri hesaba dahil edebilirsiniz.

Etiketli işleme işlem hattı için görüntüyü derleyip gönderme ile aynı etiketi kullanarak etiketleyebilirsiniz. Örneğin, işleme ile v1.0.0etiketlenmişse, görüntüyü olarak contoso/website:v1.0.0oluşturursunuz. Ana dalda etiketlenmemiş bir işlemeniz varsa, görüntüyü etiketiyle latest oluşturursunuz.

Diagram that shows the procession from triggers to the first and second build steps in a pipeline.

3. Adım: Görüntüyü kapsayıcı kayıt defterine gönderme

Görüntü oluşturulduktan sonra, bunu Contoso kapsayıcı kayıt defterine gönderirsiniz ve AKS kümesini kayıt defterine erişecek şekilde ayarlarsınız. Küme, Container Registry'den görüntüleri indirir ve çalıştırır.

İşlem hattı bu noktada tek bir adımda birleşir. Container Registry örneğinizde iç bölümler yoktur, bu nedenle her iki görüntüyü de aynı yere gönderirsiniz.

Diagram that shows the procession from triggers to the first, second, and third build steps in the pipeline.

4. Adım: Uygulamayı dağıtma

Son dağıtım adımı web sitesini doğru konuma dağıtır. İşlem hattını etiketli bir işleme tetiklediyse, web sitesini AKS kümesinin production ad alanına dağıtırsınız. İşlem hattı etiketlenmemiş bir işlemeyle tetiklendiyse, aynı kümenin staging ad alanına gönderirsiniz.

Diagram that shows the procession from triggers, through three build steps, to the deploy steps in a pipeline.

İş akışı işlem hattını tasarladığınıza göre, proje ortamınızı ayarlamak ve AKS kümesinde kopyalamak, derlemek, göndermek ve dağıtmak için GitHub Actions oluşturmak için aşağıdaki birimlere geçin.