Slide 1

Slide 1 text

Azure DevOps ve GitHub ile uçtan uca PHP projeleri Eser Özvataf PHPKonf İzmir 09.03.2019

Slide 2

Slide 2 text

Eser Özvataf › Süreç Lideri @ Setur › Sektörde 18 Yıl İş Deneyimi › Yazılım Üzerine Twitch Yayıncısı › Açık Kaynak Ekolünden › E. Bilgi ve İletişim Teknolojileri üzerine Yüksek lisans mezunu /eserozvataf /eserozvataf

Slide 3

Slide 3 text

Bugün bahsedeceklerim › Azure DevOps ve GitHub Bu ürünlerin geçmiş ve bugünü › Uçtan Uca PHP Projeleri Bu ürünler bizim proje yolculuklarımızda bize nasıl katkı sağlayabilir? Proje yaşam döngüsü safhalarını nelerdir, nasıl oluştururuz? 3

Slide 4

Slide 4 text

Azure DevOps ve GitHub Bu ürünlerin geçmiş ve bugünü 1

Slide 5

Slide 5 text

Dün 5 Açık Kaynak Ekolü Kurumsal – Microsoft Ekolü

Slide 6

Slide 6 text

Bugün 6

Slide 7

Slide 7 text

Azure DevOps’un yolculuğu Klasik TFS: ● TFVC ● Work Itemlar 7 Son 5 yıl içinde: ● Git desteği ● SaaS hizmeti ● CI/CD desteği ● Kanban, Agile ve SCRUM boardları ● GitHub’ın satın alınması ● Tekrardan branding ● GitHub entegrasyonları

Slide 8

Slide 8 text

Uçtan Uca PHP Projeleri Proje yaşam döngüsü safhalarını nelerdir, nasıl oluştururuz? 2

Slide 9

Slide 9 text

Proje yaşam döngüsü DevOps ile hayatımızda daha önemli hale geldi 9 Continuous Integration Continuous Deployment Agile Project Management Testing Release Management

Slide 10

Slide 10 text

Proje yaşam döngüsü 10 Boards Planlama Geliştirme ile ilgili planlama safhası Geliştirme Geliştirmenin yapıldığı safha SCM Test Yapılan geliştirmenin çeşitli açılardan test edilmesi CI Deployment Yapılan geliştirmenin sunulması / yayımlanması CD

Slide 11

Slide 11 text

Azure DevOps ve GitHub’ı birlikte kullanmak Örnek bir uçtan uca senaryo işletelim. 11

Slide 12

Slide 12 text

12 GitHub üzerinde örnek bir proje ile başlıyoruz

Slide 13

Slide 13 text

13 Azure DevOps’da da projemizi oluşturuyoruz

Slide 14

Slide 14 text

14 Azure DevOps projemizi GitHub ile ilişkilendiriyoruz

Slide 15

Slide 15 text

Planlama için Azure Boards ● Haftalık çalışma kapasitesini belirle ● Çalışılacak işleri Backlog’da düzenle ● Grafikleri ve işleri board üzerinde takip et 15

Slide 16

Slide 16 text

16 Azure Boards ile Planlama

Slide 17

Slide 17 text

Geliştirme için GitHub ● Commit mesajlarına yapılan geliştirmenin board ID’lerini ekle Örneğin: AB#152 Birim testlerinin eklenmesi ● Projedeki geliştirmeleri branch olarak GitHub’a gönder ● Pull request oluştur, böylece Azure DevOps’dan build testlerini gerçekleştirsin 17

Slide 18

Slide 18 text

18 GitHub ile Geliştirme

Slide 19

Slide 19 text

19 Azure DevOps ile Geliştirme Geçmişi

Slide 20

Slide 20 text

Test için Azure Pipelines ● Geliştirmelere ait testlerin gerçekleşmesi için CI pipeline oluştur ● CI pipeline’da gerçekleşecek işlemleri azure-pipelines.yml dosyasında belirt ● 1. Adım: composer install ile bağımlılıkların yüklenmesi ● 2. Adım: PHPUnit’i testlerimizi çalıştırmak 20

Slide 21

Slide 21 text

21 azure-pipelines.yml

Slide 22

Slide 22 text

22 Azure Pipelines ile Test CI Pipeline’ı

Slide 23

Slide 23 text

Deployment için Azure Pipelines ● Bir release pipeline tasarla ● Buildler arasından deploy etmek istediğini seç 23

Slide 24

Slide 24 text

24 Azure Pipelines ile Release Pipeline tasarlama

Slide 25

Slide 25 text

25 Docker Hub’a Gönderilen Docker Image

Slide 26

Slide 26 text

DEMO

Slide 27

Slide 27 text

27 Teşekkürler! Sorular? Bana twitter.com/eserozvataf & eser.ozvataf.com üzerinden ulaşabilirsiniz.