(AWS CodePipeline kullanarak)
Bu öğreticide canlı bir örnek uygulama dağıtan otomatik bir yazılım yayınlama işlem hattının nasıl oluşturulacağını öğreneceksiniz. İşlem hattını her kod değişikliği olduğunda kodunuzu oluşturan, test eden ve dağıtan bir hizmet olan AWS CodePipeline'ı kullanarak oluşturacaksınız. GitHub hesabınızı, Amazon Simple Storage Service (S3) klasörünü veya örnek uygulama kodunun kaynak konumu olarak bir AWS CodeCommit deposunu kullanacaksınız. Aynı zamanda örnek uygulama için dağıtım hedefi olarakAWS Elastic Beanstalk'u kullanacaksınız. Tamamlanan işlem hattınız örnek uygulamayı içeren kaynak havuzda yapılan değişiklikleri algılayabilir ve daha sonra canlı örnek uygulamanızı otomatik olarak güncelleyebilir.
Sürekli dağıtım, geliştiricinin açık onayı olmadan revizyonları bir üretim ortamına otomatik olarak dağıtmanızı sağlar ve tüm yazılım yayınlama sürecini otomatikleştirir.
Bu öğreticide gerçekleştirilen tüm işlemler ücretsiz kullanım için uygundur.
AWS Kaynaklarınızı Yönetme
Konsolda Oturum AçınSürekli dağıtım işlem hattınız sanal sunucular veya örnek kod dağıtacağı Amazon EC2 örnekleri içeren bir hedef ortama ihtiyaç duyacaktır. İşlem hattını oluşturmadan önce bu ortamı hazırlayacaksınız.
a. Bu öğretici için EC2 örneklerini kurma ve yapılandırma işlemini basitleştirmek için AWS Elastic Beanstalk kullanarak örnek bir ortam oluşturacaksınız. Elastic Beanstalk web uygulamalarını başlatmanıza, yapılandırmanıza veya sanal sunucuları kendi başınıza çalıştırmanıza gerek kalmadan kolayca barındırmanızı sağlar. O sizin için altyapıyı (ör. sanal sunucular, yük dengeleyiciler, vb.) otomatik olarak sağlar ve çalıştırır; uygulama yığınını (ör. işletim sistemi, dil ve çerçeve, web ve uygulama sunucusu vb.) sağlar.
b. Açılır menüden PHP 'yi seçin ve ardından Şimdi Başlat'a tıklayın.
Not: Daha önce bir Elastik Beanstalk uygulaması oluşturduysanız, sağ üst köşedeki Yeni Uygulama Oluştur'a tıklayın. Uygulamanızı adlandırın ve yeni bir web sunucusu ortamıoluşturun. Platformunuz olarak PHP'yi, ortam türünüz olarak Tek Bulut Sunucusu’nu seçin. Bulut sunucularınıza uzaktan giriş yapmayı planlıyorsanız bir anahtar çifti seçin. Aksi takdirde, kalan seçenekler için varsayılan değerleri olduğu gibi bırakın ve sürekli dağıtım işlem hattınız için ortam oluşturun.
c. Elastic Beanstalk, uygulamanızı dağıtmanız için örnek bir ortam oluşturmaya başlayacaktır. Aynı zamanda bir Amazon EC2 bulut sunucusu, güvenlik grubu, Auto Scaling grubu, Amazon S3 klasörü, Amazon CloudWatch alarmları ve uygulamanız için bir etki alanı adı oluşturacaktır.
Not: Bu işlemin tamamlanması birkaç dakika sürebilir.
Bu adımda örnek uygulamanın kodunun bir kopyasını alacak ve kodu barındırmak için bir kaynak seçeceksiniz. İşlem hattı kaynaktan kod alır ve ardından eylemleri gerçekleştirir.
Kaynağınız olarak üç seçenekten birini kullanabilirsiniz: bir GitHub deposu, bir Amazon S3 klasörü veya bir AWS CodeCommit deposu. Tercihinizi seçin ve aşağıdaki adımları izleyin:
Bu adımda iki eylemle basit bir işlem hattı oluşturacak ve yapılandıracaksınız: kaynak ve dağıtma. Kaynak deponuzun ve dağıtım ortamınızın konumlarını CodePipeline'a sağlayacaksınız.
a. AWS CodePipeline konsolunu açmak için burayı tıklayın.
- Hoş Geldiniz sayfasında İşlem hattı oluştur'u tıklayın.
- AWS CodePipeline'ı ilk kez kullanıyorsanız Hoş Geldiniz sayfası yerine bir tanıtım sayfası görünür. Kullanmaya başlayın’a tıklayın.
b. 1. Adım: Ad sayfasında:
- İşlem hattı adı: işlem hattınız için adı girin, DemoPipeline.
- Sonraki Adım’a tıklayın.
Not: Bir işlem hattı oluşturduktan sonra adını değiştiremezsiniz.
c. 2. Adım: Kaynak sayfasında seçtiğiniz kaynağın konumunu seçin ve aşağıdaki adımları izleyin:
d. Gerçek bir sürekli dağıtım işlem hattı kodun derlendiği ve birim test edildiği bir oluşturma aşaması gerektirir. CodePipeline tercih ettiğiniz oluşturma sağlayıcısını işlem hattınıza bağlamanızı sağlar. Ancak bu öğreticide derleme aşamasını atlayacaksınız.
- 3. Adım: Oluşturun sayfasında Oluşturma Yok'u seçin.
- Sonraki Adım’a tıklayın.
e. 4. Adım: Beta sayfasında:
- Dağıtım sağlayıcısı: AWS Elastic Beanstalk’a tıklayın.
- Uygulama adı: İlk Elastik Beanstalk Uygulamam’a tıklayın.
- Ortam adı: Varsayılan-Ortam’a tıklayın.
- Sonraki Adım’a tıklayın.
Not: "Kaynak" adı işlem hattının ilk aşamasına verilen addı; aynı şekilde "Beta" adı da işlem hattının bu aşamasına varsayılan olarak verilen addır.
f. 5. Adım: Hizmet Rolü sayfasında:
- Hizmet Rolü: Rol oluştur’a tıklayın.
- Sizin için oluşturulacak AWS-CodePipeline-Service rolünü açıklayan bir IAM konsol sayfasına yönlendirileceksiniz. İzin ver’e tıklayın
- Rolü oluşturduktan sonra Rol adında AWS-CodePipeline-Service'göründüğü 5. Adım: Hizmet Rolü sayfasına dönersiniz. Sonraki Adım’a tıklayın.
Not: Hizmet rolü oluşturmak yalnızca AWS CodePipeline uygulamasında ilk kez işlem hattı oluşturduğunuzda gereklidir. Bir hizmet rolü önceden oluşturulduysa açılır rol listesinden bu rolü seçebilirsiniz. Açılır listede hesabınızla ilişkili tüm IAM hizmet rolleri görüntüleneceği için varsayılandan farklı bir ad seçerseniz bu adın AWS CodePipeline hizmet rolü olarak tanınabildiğinden emin olun.
Bu adımda işlem hattınızı başlatacaksınız. İşlem hattınız oluşturulduktan sonra otomatik olarak çalışmaya başlar. İlk olarak kaynak konumunuzdaki örnek uygulama kodunu algılar, dosyaları paketler ve daha sonra onları tanımladığınız ikinci aşamaya taşır. Bu aşamada bu kodu, kodunuzu barındıracak olan EC2 bulut sunucusunu içeren Elastic Beanstalk'a aktarır. Elastic Beanstalk kodu EC2 bulut sunucusuna dağıtma görevini sağlar.
a. 6. Adım: Gözden Geçirin sayfasında bilgileri gözden geçirin ve İşlem hattı oluştur'a tıklayın.
b. İşlem hattınız oluşturulduktan sonra işlem hattı durum sayfası görünür ve işlem hattı otomatik olarak çalışmaya başlar. İşlem hattı her eylemi gerçekleştirirken siz ilerlemenin yanı sıra başarı ve hata iletilerini de görüntüleyebilirsiniz.
İşlem hattınızın başarıyla çalıştığını doğrulamak için her aşamada ilerlerken işlem hattının ilerlemesini izleyin. Her aşamanın durumu Henüz yürütme yok'dan Devam Ediyor'a ve ardından Başarılı veya Başarısız olarak değişir. İşlem hattının ilk çalışmayı birkaç dakika içinde tamamlaması beklenir.
c. Beta aşamasının durum alanında AWS Elastic Beanstalk'a tıklayın.
d. AWS Elastic Beanstalk konsolu dağıtımın ayrıntılarıyla birlikte açılır.
- Daha önce oluşturduğunuz Varsayılan-Ortam adlı ortamı tıklatın.
e. Dağıttığınız örnek web sitesini görüntülemek için sayfanın sağ üst kısmında görünen URL'yi tıklayın.
Bu adımda örnek kodu gözden geçirecek ve değişikliği deponuzda gerçekleştireceksiniz. CodePipeline güncellenmiş örnek kodunuzu algılar ve ardından Elastik Beanstalk aracılığıyla EC2 bulut sunucunuza dağıtmayı otomatik olarak başlatır.
Dağıttığınız örnek web sayfasının kod dağıtımlarını otomatikleştiren bir hizmet olan AWS CodeDeploy'u ifade ettiğini unutmayın. CodePipeline, CodeDeploy dağıtım eylemleri için Elastic Beanstalk kullanmaya bir alternatiftir. Elastic Beanstalk kullanarak örneği dağıttığınızı doğru bir şekilde belirtmesi için örnek kodu güncelleyelim.
d. CodePipeline konsolunda işlem hattınıza dönün. Birkaç dakika içinde Kaynağın maviye dönüştüğünü görmelisiniz. Bu işlem hattının kaynak deponuzda yaptığınız değişiklikleri algıladığının göstergesidir. Bu gerçekleştiğinde o, güncellenen kodu otomatik olarak Elastic Beanstalk'a taşır.
- İşlem hattı durumu Başarılı olarak görüntülendikten sonra Beta aşamasının durum alanında AWS Elastic Beanstalk'a tıklayın.
e. AWS Elastic Beanstalk konsolu dağıtımın ayrıntılarıyla birlikte açılır. Daha önce oluşturduğunuz Varsayılan-Ortam adlı ortamı seçin.
f. Örnek web sitesini tekrar görüntülemek için sayfanın sağ üst kısmında görünen URL'ye tıklayın. Metniniz sürekli dağıtım işlem kanalı üzerinden otomatik olarak güncellendi!
Gelecekte olabilecek ücretlendirmelerden kaçınmak için bu öğretici boyunca başlattığınız işlem hattı, Elastic Beanstalk Uygulaması ve kodu barındırmak için ayarladığınız kaynağı içeren tüm kaynakları sileceksiniz.
a. İlk olarak işlem hattınızı sileceksiniz:
- İşlem hattı görünümünde Düzenle'ye tıklayın.
- Sil’e tıklayın.
- İşlem hattınızın adını yazın ve Sil'e tıklayın.
b. İkinci olarak Elastik Beanstalk uygulamanızı silin:
- Elastik Beanstalk konsolunu ziyaret edin.
- Eylemler’e tıklayın
- Ardından Ortamı Sonlandır'a tıklayın.
AWS CodePipeline'ı kullanarak otomatik bir yazılım yayınlama işlem hattı oluşturdunuz! CodePipeline kullanarak uygulama kodu için kaynak konum olarak GitHub, Amazon S3 veya AWS CodeCommit kullanan ve daha sonra kodu AWS Elastic Beanstalk tarafından yönetilen bir Amazon EC2 bulut sunucusuna dağıtan bir işlem hattı oluşturdunuz. İşlem hattınız her kod değişikliği olduğunda kodunuzu otomatik olarak dağıtacaktır. Sürekli dağıtım yapmaya bir adım daha yaklaştınız!
Artık AWS CodePipeline kullanarak basit bir işlem hattı oluşturmayı öğrendiğinize göre aşağıdaki kaynakları ziyaret ederek daha fazla bilgi edinebilirsiniz.
- Bu kılavuzu izleyerek daha gelişmiş, dört aşamalı bir işlem hattı oluşturun. Bu işlem hattı, kaynağınız için bir GitHub deposu, projeyi oluşturmak ve test etmek için bir Jenkins oluşturma sunucusu ve yerleşik kodu bir hazırlama sunucusuna dağıtmak için bir AWS CodeDeploy uygulaması kullanır.
- Pipeline Starter Kiti’mizi kullanarak dört aşamalı bir işlem hattını Jenkins oluşturma sunucusuyla hızlıca döndürün.
- Sürekli teslim hakkında daha fazla bilgi edinin.