Sürekli tümleştirme ve sürekli teslim (Azure ile gerçek hayatta bulut uygulamaları oluşturma)Continuous Integration and Continuous Delivery (Building Real-World Cloud Apps with Azure)

, Mike te son, Rick Anderson, Tom Dykstra tarafındanby Mike Wasson, Rick Anderson, Tom Dykstra

Onarma projesini indirin veya E-kitabı indirinDownload Fix It Project or Download E-book

Azure e-book Ile gerçek dünyada bulut uygulamaları oluşturma , Scott Guthrie tarafından geliştirilen bir sunuyu temel alır.The Building Real World Cloud Apps with Azure e-book is based on a presentation developed by Scott Guthrie. Bulut için Web Apps 'i başarılı bir şekilde geliştirmeye yardımcı olabilecek 13 desen ve uygulamaları açıklar.It explains 13 patterns and practices that can help you be successful developing web apps for the cloud. E-kitap hakkında daha fazla bilgi için ilk bölümebakın.For information about the e-book, see the first chapter.

Önerilen ilk iki geliştirme işlemi deseni her şeyi ve kaynak denetimi otomatikleştirin ve üçüncü işlem deseni bunları birleştirir.The first two recommended development process patterns were Automate Everything and Source Control, and the third process pattern combines them. Sürekli tümleştirme (CI), bir geliştiricinin kaynak depoya kod iade ettiğinde otomatik olarak tetiklendiği anlamına gelir.Continuous integration (CI) means that whenever a developer checks in code to the source repository, a build is automatically triggered. Sürekli teslim (CD) bu adımı bir adım ileri alır: derleme ve otomatik birim testleri başarılı olduktan sonra, uygulamayı otomatik olarak daha ayrıntılı test yapabileceğiniz bir ortama dağıtırsınız.Continuous delivery (CD) takes this one step further: after a build and automated unit tests are successful, you automatically deploy the application to an environment where you can do more in-depth testing.

Bulut, yalnızca kullandığınız sürece ortam kaynakları için ödeme yaptığınız için bir test ortamının bakım maliyetini en aza indirmenize olanak sağlar.The cloud enables you to minimize the cost of maintaining a test environment because you only pay for the environment resources as long as you're using them. CD işleminiz, ihtiyacınız olduğunda test ortamını ayarlayabilir ve testi tamamladıktan sonra ortamı azaltabilirsiniz.Your CD process can set up the test environment when you need it, and you can take down the environment when you're done testing.

Sürekli tümleştirme ve sürekli teslim iş akışıContinuous Integration and Continuous Delivery workflow

Genellikle geliştirme ve hazırlama ortamlarınıza sürekli teslim etmenizi öneririz.Generally we recommend that you do continuous delivery to your development and staging environments. Çoğu ekip, Microsoft 'ta bile üretim dağıtımı için el ile gözden geçirme ve onay süreci gerektirir.Most teams, even at Microsoft, require a manual review and approval process for production deployment. Bir üretim dağıtımı için, geliştirme ekibinizdeki önemli kişilerin destek için kullanılabilir olduğu veya düşük trafikli dönemler sırasında olduğundan emin olmak isteyebilirsiniz.For a production deployment you might want to make sure it happens when key people on the development team are available for support, or during low-traffic periods. Ancak, geliştirme ve test ortamlarınızı tamamen otomatikleştirerek, tüm geliştiricinin yapması gereken bir değişikliği iade etme ve bir ortamın kabul testi için ayarlanmış olması gibi bir şey yoktur.But there's nothing to prevent you from completely automating your development and test environments so that all a developer has to do is check in a change and an environment is set up for acceptance testing.

Sürekli teslim hakkındaki bir Microsoft desenlerinden ve uygulamalardan oluşan aşağıdaki diyagramda tipik bir iş akışı gösterilmektedir.The following diagram from a Microsoft Patterns and Practices e-book about continuous delivery illustrates a typical workflow. Özgün bağlamında tam boyuta bakmak için resme tıklayın.Click the image to see it full size in its original context.

Sürekli teslim iş akışı Continuous delivery workflow

Bulut, uygun maliyetli CI ve CD 'yi nasıl sunarHow the cloud enables cost-effective CI and CD

Bu işlemlerin Azure 'da otomatikleştirilmesi kolaydır.Automating these processes in Azure is easy. Buluttaki her şeyi çalıştırdığınız için, derlemelerinizi veya test ortamlarınız için sunucu satın almanız veya yönetmeniz gerekmez.Because you're running everything in the cloud, you don't have to buy or manage servers for your builds or your test environments. Ve testinizi üzerinde bir sunucunun kullanılabilir olmasını beklemeniz gerekmez.And you don't have to wait for a server to be available to do your testing on. Yaptığınız her derleme sayesinde, otomasyon komut dosyanızı kullanarak Azure 'da bir test ortamı çalıştırabilir, kabul testleri veya daha ayrıntılı testler çalıştırabilir ve sonra da bunu koparın.With every build that you do, you could spin up a test environment in Azure using your automation script, run acceptance tests or more in-depth tests against it, and then when you're done just tear it down. Ayrıca, bu sunucuyu yalnızca 2 saat veya 8 saat veya bir gün boyunca çalıştırırsanız, yalnızca bir makinenin gerçekten çalıştığı zaman için ödeme yaptığınız için, bunun için ödeme yapmak zorunda olduğunuz para miktarı en az olur.And if you only run that server for 2 hours or 8 hours or a day, the amount of money that you have to pay for it is minimal, because you're only paying for the time that a machine is actually running. Örneğin, BT uygulamasını onarmak için gereken ortam, ücretsiz düzeyden bir katmana giderseniz, saat başına yaklaşık 1 San maliyetindedir.For example, the environment required for the Fix it application basically costs about 1 cent per hour if you go one tier up from the free level. Bir ay boyunca yalnızca bir saatte bir saat çalıştırırsanız, test ortamınız büyük olasılıkla başlangıçlarından satın aldığınız bir gözden daha düşük maliyetli olacaktır.Over the course of a month, if you only ran the environment an hour at a time, your testing environment would probably cost less than a latte that you buy at Starbucks.

Azure DevOps ServicesAzure DevOps Services

Azure DevOps Services, dağıtıma planlamadan uygulama geliştirmeye yardımcı olacak birçok özellik sağlar.Azure DevOps Services provides a number of features to assist you with application development from planning to deployment.

  • Hem git (dağıtılmış) hem de TFVC (Merkezi) kaynak denetimini destekler.It supports both Git (distributed) and TFVC (centralized) source control.
  • Elastik derleme hizmeti sunar; bu, gerektiğinde dinamik olarak yapı sunucuları oluşturur ve bu işlem bittiğinde onları aşağı doğru alır.It offers an elastic build service, which means it dynamically creates build servers when they're needed and takes them down when they're done. Birisi kaynak kodu değişikliklerini iade ettiğinde bir derlemeyi otomatik olarak başlatabilir ve çoğu zaman boşta olan kendi yapı sunucularınız için tahsis ve ödeme yapmanız gerekmez.You can automatically kick off a build when someone checks in source code changes, and you don't have to have allocate and pay for your own build servers that lie idle most of the time. Derleme hizmeti, belirli sayıda yapıyı aşmadığı sürece ücretsizdir.The build service is free as long as you don't exceed a certain number of builds. Yüksek hacimli derlemeler yapmayı düşünüyorsanız, ayrılmış derleme sunucuları için biraz daha fazla ödeme yapabilirsiniz.If you expect to do a high volume of builds, you can pay a little extra for reserved build servers.
  • Azure 'a sürekli teslimi destekler.It supports continuous delivery to Azure.
  • Otomatikleştirilmiş yük testini destekler.It supports automated load testing. Yük testi bir bulut uygulaması için kritiktir ancak çok geç olana kadar genellikle ihmal edilir.Load testing is critical to a cloud app but is often neglected until it's too late. Yük testi, uygulamayı üretime bırakmadan önce binlerce kullanıcı tarafından bir uygulamanın yoğun kullanımını taklit ederek, performans sorunlarını saptamanıza ve verimlilik iyileştirmenize olanak tanır.Load testing simulates heavy use of an app by thousands of users, enabling you to find bottlenecks and improve throughput —before you release the app to production.
  • Bu, küçük Çevik takımlar için gerçek zamanlı iletişim ve işbirliği sağlayan takım odası işbirliğini destekler.It supports team room collaboration, which facilitates real-time communication and collaboration for small agile teams.
  • Çevik proje yönetimini destekler.It supports agile project management.

Azure DevOps Services sürekli tümleştirme ve teslim özellikleri hakkında daha fazla bilgi için bkz. Azure DevOps belgeleri.For more information on the continuous integration and delivery features of Azure DevOps Services, see the Azure DevOps documentation.

Bir aç-anahtar proje yönetimi, ekip işbirliği ve kaynak denetimi çözümü arıyorsanız, Azure DevOps Services kullanıma alma.If you're looking for a turn-key project management, team collaboration, and source control solution, check out Azure DevOps Services. Azure DevOps Serviceskaydolun.Sign up at Azure DevOps Services.

ÖzetSummary

İlk üç bulut geliştirme deseni, düşük zaman süresi ile tekrarlanabilir, güvenilir ve öngörülebilir bir geliştirme sürecinin nasıl uygulanacağı hakkında.The first three cloud development patterns have been about how to implement a repeatable, reliable, predictable development process with low cycle time. Sonraki bölümde mimari ve kodlama desenlerine bakmamız için başladık.In the next chapter we start to look at architectural and coding patterns.

KaynaklarResources

Daha fazla bilgi için bkz. Azure App Service Web uygulaması dağıtma.For more information, see Deploy a web app in Azure App Service.

Ayrıca aşağıdaki kaynaklara bakın:See also the following resources: