Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, 20 yıllık tecrübeye sahip bir konuşmacının sunduğu sunum formatında bir eğitim içeriğidir. Konuşmacı, mobil yazılım geliştirme ve DevOps süreçleri hakkında detaylı bilgiler vermektedir.
- Video, öncelikle Continuous Integration (CI) ve Continuous Delivery (CD) kavramlarını tanıtarak başlıyor ve ardından mobil projelerde bu süreçlerin nasıl uygulanabileceğini anlatıyor. Daha sonra deployment süreçleri, sertifika yönetimi, versiyon yönetimi, rol yönetimi ve test süreçlerinin önemi ele alınıyor. Video, konuşmacının sunduğu bir ürünün demo gösterimi ile devam ediyor.
- Konuşmacı, özellikle Türkiye'de az bilinen CI ve CD kavramlarının avantajlarını vurgulayarak, bu süreçlerin verimliliği artırması, süreçleri hızlandırma ve performansı ölçülebilir hale getirme gibi faydalarını açıklıyor. Ayrıca, mobil uygulamaların otomatik dağıtım süreçlerini otomatize etme çözümleri de adım adım gösteriliyor.
- Sunum ve Konu Tanıtımı
- Konuşmacı yaklaşık 20 yıllık yazılım tecrübesiyle dünyanın farklı yerlerinde mobil ağırlıklı projelerde farklı pozisyonlarda çalışmıştır.
- Konuşma, CCD (Continuous Code Delivery) kavramının önemini ve mobil bacağıyla ilgili tecrübeleri paylaşacaktır.
- İçerik; CCD ve CT kavramlarının ne olduğu, neden ihtiyaç duyulduğu, sağladığı faydaları ve frontend dünyasıyla ilişkisi hakkında bilgi verecektir.
- 01:16Mobil Projelerde DevOps Uygulaması
- Mobil projeler geliştiren takımlar genellikle izole çalışır ve kendi süreçlerini yaratırlar, bu süreçlerin oturtulmaması verimlilik kaybına neden olur.
- Büyük şirketlerde DevOps kavramı genellikle backend olarak algılanır ve mobil takımlar kendi CI/CD süreçlerini kurmak zorunda kalır.
- CI/CD kavramları mobil dünyasında da önemlidir ve bu konuda farkındalık oluşturulması gerekir.
- 02:40CI/CD Kavramları
- CI (Continuous Integration) kodun depolama, paketlenme ve derleme sürecini kapsar.
- CI sürecinde kod kalitesinin kontrolü, disiplinlerin uygulanıp uygulanmadığına bakılır, örneğin defen nesillerin kullanımı, paket büyüklüğü ve izinler kontrol edilir.
- CD (Continuous Deployment) oluşturulan artefinin ilgili sistemlere iletilmesini sağlar, mobilde app store veya Google Play gibi platformlara dağıtımı içerir.
- 05:22Continuous Testing
- Continuous Testing, CI sürecinde unit test ve integration testlerini içerir.
- CD sonrası yapılan testler genellikle test takımları tarafından gerçekleştirilir ve alfa/beta testlerinde scriptler çalıştırılarak süreçlerin sağlıklı olup olmadığı kontrol edilir.
- Bu süreçler sürekli devam eden bir süreçtir.
- 06:24CI/CD'nin Faydaları
- Yazılım geliştirme sürecinde, yazma kısmının dışında analiz, geliştirme, test ve dağıtım gibi süreçlerin toplamda işin en az yarısını oluşturur.
- CI/CD uygulaması tekrar eden süreçleri otomatikleştirmek ve verimliliği artırmak için önemlidir.
- CI/CD uygulaması zaman kazancı sağlar, özellikle tekrar eden ve can sıkıcı işleri otomatikleştirmek verimliliği artırır.
- 08:46CI/CD'nin Diğer Faydaları
- CI/CD uygulaması süreçlerin daha hızlı akmasını sağlar ve bilginin sistemde kalmasını sağlar.
- Sistem sürekli geri bildirimler verir ve bu feedbacklerle sistem sürekli iyileştirilebilir.
- CI/CD uygulaması performansı ve metrikleri ölçülebilir hale getirir, böylece sürekli iyileştirme yapılabilecektir.
- 10:43Mobil Uygulama Geliştirme ve Dağıtım Süreçleri
- Kent dünyasında bankacılık uygulamasında küçük bir düzeltme yapmak için bütün paketin ilerlemesi gerekiyor, bu insan hatası oluşmasına sebep oluyor.
- Mobil uygulamalarda patch geçme gibi bir süreç yok, bu konuda diploma süreçleri farklı bir hikaye oluşturuyor.
- Mobil uygulamalarda sertifikaların doğru şekilde yönetilmesi ve ortam ortamın environment ile entegre olarak diplo edilmesi gerekiyor.
- 11:55Sertifikalar ve Versiyon Yönetimi
- Sertifikalar herkes tarafından indirilebilir, Facebook'un başına gelmiş enterprise sertifikası sorunu bir örnektir.
- Versiyon yönetimi kültürünün tam oturmamış olması, özellikle senver konusunda sorunlar yaratıyor.
- Rol yönetimi iyi yönetilmeli, herkesin her şeyi erişebilmesi olmamalı.
- 12:54Otomasyon ve Test Süreçleri
- Tam oturmamış ürünlerde çok fazla iterasyon geçirildiği için testler sürekli revize edilmek zorunda.
- Sıfırdan sürekli bir konfigürasyonu ayağa kaldırmak çok önemli.
- Store submit'e kadar, beta distribution'e kadar tüm süreçlerin otomatize edilmesi gerekiyor.
- 14:31Ürün Özellikleri ve Kullanımı
- Ürün, gençlerin branch için konfigürasyon yaparak imza sürecine karar verip dağıtılacağına karar vermesini sağlıyor.
- Sertifikaların güvenli bir yerde depolanması ve makinelerde durmaması önemli.
- Workflow'lar şirketin süreçlerine göre özelleştirilebiliyor ve build süreçleri takip edilebiliyor.
- 16:46Dağıtım ve Kaynak Kodu
- Oluşturulan uygulama e-mail olarak atılarak telefonlara indirilebiliyor veya Google Play'e gönderilerek dağıtılabilir.
- Tüm süreçlerde kodun depodan alınması ve Google Play'e gönderilmesi kapsanıyor.
- GitHub, Appcle.io adresindeki süreçlerde kullanılan scriptlerin ruby ve beş scriptlerinin open source olduğu görülebilir.