SlideShare a Scribd company logo
1 of 35
Download to read offline
Umut IŞIK
PHP PROJELERİNDE
CI UYGULAMA
▪ Umut Işık
▪ 1980, Artvin
▪ ODTÜ, Bilg. Müh.
▪ MaviBilgisayar, KRC, ForsNet, Magnet (Gittigidiyor), SONY
▪ umuts.info
Ben Kimim?
hacker-laws-tr WOSPM
1. CI Nedir?
2. PHP İle CI
3. Uygulama 1
4. Uygulama 2
5. Soru Cevap
İçindekiler
Wikipedia’daki ilk tanım;
Continuous Integration is a Software Engineering term describing a
process that completely rebuilds and tests an application frequently.
Generally it takes the form of a server process or daemon that
monitors a file system or Source Code Control system for changes and
automatically runs the build process and then runs test scripts.
1. CI nedir?
Wikipedia’dan şuanki tanım;
In software engineering, continuous integration (CI) is the practice of
merging all developer working copies to a shared mainline several
times a day.
1. CI nedir?
opensource.com’daki tanım
Continuous integration (CI) is the process of automatically detecting,
pulling, building, and (in most cases) doing unit testing as source code
is changed for a product. CI is the activity that starts the pipeline.
The goal of CI is to quickly make sure a new change from a developer is
"good" and suitable for further use in the code base.
1. CI nedir?
Temel prensipler;
▪ Bir “repo” yönetimi olmalı
▪ Eklenen her kod build edilebilir olmalı
▪ “build” işlemi otomatikleştirilebilmeli
▪ Canlı ile aynı ortamda test edilebilmeli
▪ Oluşan her paket/build kendi testini de içermeli
▪ Sık “commit”
▪ Erişilebilir raporlar
1. CI nedir?
▪Yeni bir olay değil!
▪Yeni bir ekip üyesi
▪ Kod incelemesi yapar
▪ Teknik gelişimi teşvik eder
1. CI nedir?
Özetlemek gerekirse amacımız;
▪ Her yeni satırın kontrol edilmesi
▪ Sorunsuz “release”
▪ Bug olmaması :)
1. CI nedir?
CI Terimleri;
▪ Job/Step
▪ Grup/Stage
▪ Hat/Pipeline
2. PHP İle CI
Proje Terimleri;
▪ Lint
▪ Statik Kontrol
▪ Güvenlik
▪ Unittest
▪ Fonksiyonel Testler
▪ Entegrasyon Testleri
▪ Projeye Özel Kontroller/Testler
▪ Build/Paketleme
Lint:
▪ https://github.com/JakubOnderka/PHP-Parallel-Lint
▪ https://github.com/JakubOnderka/PHP-Var-Dump-Check
▪ composer normalize --dry-run
▪ PHPMND
▪ Merge Conflict Checker
▪ Klasör isimlendirme
▪ Boş klasör kontrolü
▪ vb.
2. PHP İle CI
Statik Kontrol:
▪ Code Cniffer (PHPCS)
▪ Dead Code (phpdcd)
▪ Copy Paste Kontrolü
2. PHP İle CI
Güvenlik:
▪ Statik güvenlik kontrolleri (https://github.com/psecio/parse)
▪ Composer (https://github.com/sensiolabs/security-checker)
▪ vb.
2. PHP İle CI
Unittest:
▪ Testler geçiyor mu?
▪ Kod kapsam yüzdesi kontrol edilebilir
2. PHP İle CI
Fonksiyonel Test:
▪ Behat
▪ Cucumber
▪ Kahlan
▪ vb.
2. PHP İle CI
Entegrasyon Testleri Test:
▪ F.T. ile aynı araçlar
▪ Senaryolar olmalı
2. PHP İle CI
Paketleme;
▪ Hat başarılı
▪ Build/Paket vb.
2. PHP İle CI
▪5 farklı uygulama
▪PHP
▪Slim, Symfony, Wordpress
▪Jquery ve React
▪AWS
▪Docker
▪Gitlab
3. Uygulama 1
Ekip;
▪4 Backend
▪2 UI
▪2 BA
▪2 QA
▪1 PO
3. Uygulama 1
Branch modeli;
▪feature branch
▪Dinamik development branch
▪release branch
▪master branch
3. Uygulama 1
▪GitLab CI özelliği ile geliyor
▪.gitlab-ci.yml
▪Premium’da daha fazla özellik var
3. Uygulama 1
Terimler;
▪ Job
▪ Stage
▪ Runner
▪ Pipeline
3. Uygulama 1
▪Her branch türü için ayrı bir hat
▪job ve stage arası hiyerarşi
3. Uygulama 1
feature branch için;
3. Uygulama 1
development branch;
3. Uygulama 1
release branch;
3. Uygulama 1
master branch;
3. Uygulama 1
Ne elde ettik;
▪Ekip için güzel bir pratik
▪Test yazma motivasyonu
▪Zamandan tasarruf
▪Kalite
▪Developer katılım programı
3. Uygulama 1
WOSPM/checker
3. Uygulama 2
WOSPM/checker
3. Uygulama 2
WOSPM/checker
3. Uygulama 2
WOSPM/checker
3. Uygulama 2
WOSPM/checker
3. Uygulama 2
WOSPM/checker
3. Uygulama 2
5. Soru Cevap
Teşekkürler…
☺

More Related Content

Similar to Php projelerinde ci_uygulama

Tersine Mühendislik 101
Tersine Mühendislik 101Tersine Mühendislik 101
Tersine Mühendislik 101Fatih Erdoğan
 
Metasploit Framework ile Güvenlik Denetimi
Metasploit Framework ile Güvenlik DenetimiMetasploit Framework ile Güvenlik Denetimi
Metasploit Framework ile Güvenlik DenetimiFatih Ozavci
 
Sandbox Atlatma Teknikleri ve Öneriler
Sandbox Atlatma Teknikleri ve ÖnerilerSandbox Atlatma Teknikleri ve Öneriler
Sandbox Atlatma Teknikleri ve ÖnerilerBGA Cyber Security
 
IstSec'14 - Çağrı ERSEN - Açık Kaynak Sistemlerle Siber Saldırı Gözetleme Sis...
IstSec'14 - Çağrı ERSEN - Açık Kaynak Sistemlerle Siber Saldırı Gözetleme Sis...IstSec'14 - Çağrı ERSEN - Açık Kaynak Sistemlerle Siber Saldırı Gözetleme Sis...
IstSec'14 - Çağrı ERSEN - Açık Kaynak Sistemlerle Siber Saldırı Gözetleme Sis...BGA Cyber Security
 
Açık Kaynak Sistemlerle Siber Saldırı Gözlemleme Sistemi Kurulum ve Yönetimi
Açık Kaynak Sistemlerle Siber Saldırı Gözlemleme Sistemi Kurulum ve YönetimiAçık Kaynak Sistemlerle Siber Saldırı Gözlemleme Sistemi Kurulum ve Yönetimi
Açık Kaynak Sistemlerle Siber Saldırı Gözlemleme Sistemi Kurulum ve YönetimiBilgiO A.S / Linux Akademi
 
Kod Kalitesinin Sürekli Denetimi: SonarQube
Kod Kalitesinin Sürekli Denetimi: SonarQubeKod Kalitesinin Sürekli Denetimi: SonarQube
Kod Kalitesinin Sürekli Denetimi: SonarQubeEmre Dündar
 
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin Kullanımı
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin KullanımıSiber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin Kullanımı
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin KullanımıBGA Cyber Security
 
cloud adoption strategy
cloud adoption strategy cloud adoption strategy
cloud adoption strategy Özgür Uğur
 
JUnit ve Docker yardimiyla kolay entegrasyon testleri
JUnit ve Docker yardimiyla kolay entegrasyon testleriJUnit ve Docker yardimiyla kolay entegrasyon testleri
JUnit ve Docker yardimiyla kolay entegrasyon testleriİlkin Balkanay
 
Ozgur Yazilimlar ile Saldiri Yontemleri
Ozgur Yazilimlar ile Saldiri YontemleriOzgur Yazilimlar ile Saldiri Yontemleri
Ozgur Yazilimlar ile Saldiri YontemleriFatih Ozavci
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriLemi Orhan Ergin
 
Python programlama
Python programlamaPython programlama
Python programlamaMurat KARA
 
Building the continuous integration layer in Avea
Building the continuous integration layer in AveaBuilding the continuous integration layer in Avea
Building the continuous integration layer in AveaOguzhan Ozavar
 
DevOps ile Siber Tehditler Karşısında 360 Derece Alan Hakimiyeti
DevOps ile Siber Tehditler Karşısında 360 Derece Alan HakimiyetiDevOps ile Siber Tehditler Karşısında 360 Derece Alan Hakimiyeti
DevOps ile Siber Tehditler Karşısında 360 Derece Alan HakimiyetiBGA Cyber Security
 
DevOps ile Siber Tehditler Karşısında 360 Derece Alan Hakimiyeti
DevOps ile Siber Tehditler Karşısında 360 Derece Alan HakimiyetiDevOps ile Siber Tehditler Karşısında 360 Derece Alan Hakimiyeti
DevOps ile Siber Tehditler Karşısında 360 Derece Alan HakimiyetiBilgiO A.S / Linux Akademi
 
Kayra Otaner - DevOps ile siber saldırılar karşısında 360 derece alan hakimiyeti
Kayra Otaner - DevOps ile siber saldırılar karşısında 360 derece alan hakimiyetiKayra Otaner - DevOps ile siber saldırılar karşısında 360 derece alan hakimiyeti
Kayra Otaner - DevOps ile siber saldırılar karşısında 360 derece alan hakimiyetiKasım Erkan
 

Similar to Php projelerinde ci_uygulama (20)

Tersine Mühendislik 101
Tersine Mühendislik 101Tersine Mühendislik 101
Tersine Mühendislik 101
 
Metasploit Framework ile Güvenlik Denetimi
Metasploit Framework ile Güvenlik DenetimiMetasploit Framework ile Güvenlik Denetimi
Metasploit Framework ile Güvenlik Denetimi
 
Sandbox Atlatma Teknikleri ve Öneriler
Sandbox Atlatma Teknikleri ve ÖnerilerSandbox Atlatma Teknikleri ve Öneriler
Sandbox Atlatma Teknikleri ve Öneriler
 
IstSec'14 - Çağrı ERSEN - Açık Kaynak Sistemlerle Siber Saldırı Gözetleme Sis...
IstSec'14 - Çağrı ERSEN - Açık Kaynak Sistemlerle Siber Saldırı Gözetleme Sis...IstSec'14 - Çağrı ERSEN - Açık Kaynak Sistemlerle Siber Saldırı Gözetleme Sis...
IstSec'14 - Çağrı ERSEN - Açık Kaynak Sistemlerle Siber Saldırı Gözetleme Sis...
 
Açık Kaynak Sistemlerle Siber Saldırı Gözlemleme Sistemi Kurulum ve Yönetimi
Açık Kaynak Sistemlerle Siber Saldırı Gözlemleme Sistemi Kurulum ve YönetimiAçık Kaynak Sistemlerle Siber Saldırı Gözlemleme Sistemi Kurulum ve Yönetimi
Açık Kaynak Sistemlerle Siber Saldırı Gözlemleme Sistemi Kurulum ve Yönetimi
 
Selenium
SeleniumSelenium
Selenium
 
Kod Kalitesinin Sürekli Denetimi: SonarQube
Kod Kalitesinin Sürekli Denetimi: SonarQubeKod Kalitesinin Sürekli Denetimi: SonarQube
Kod Kalitesinin Sürekli Denetimi: SonarQube
 
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
Uygulamali Sizma Testi (Pentest) Egitimi Sunumu - 1
 
Visual Studio Developer Tools
Visual Studio Developer ToolsVisual Studio Developer Tools
Visual Studio Developer Tools
 
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin Kullanımı
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin KullanımıSiber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin Kullanımı
Siber Tehdit Gözetleme ve SIEM Olarak Açık Kaynak Sistemlerin Kullanımı
 
cloud adoption strategy
cloud adoption strategy cloud adoption strategy
cloud adoption strategy
 
JUnit ve Docker yardimiyla kolay entegrasyon testleri
JUnit ve Docker yardimiyla kolay entegrasyon testleriJUnit ve Docker yardimiyla kolay entegrasyon testleri
JUnit ve Docker yardimiyla kolay entegrasyon testleri
 
Ozgur Yazilimlar ile Saldiri Yontemleri
Ozgur Yazilimlar ile Saldiri YontemleriOzgur Yazilimlar ile Saldiri Yontemleri
Ozgur Yazilimlar ile Saldiri Yontemleri
 
GDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme TeknikleriGDO'suz Yazılım Geliştirme Teknikleri
GDO'suz Yazılım Geliştirme Teknikleri
 
Python programlama
Python programlamaPython programlama
Python programlama
 
Building the continuous integration layer in Avea
Building the continuous integration layer in AveaBuilding the continuous integration layer in Avea
Building the continuous integration layer in Avea
 
DevOps ile Siber Tehditler Karşısında 360 Derece Alan Hakimiyeti
DevOps ile Siber Tehditler Karşısında 360 Derece Alan HakimiyetiDevOps ile Siber Tehditler Karşısında 360 Derece Alan Hakimiyeti
DevOps ile Siber Tehditler Karşısında 360 Derece Alan Hakimiyeti
 
DevOps ile Siber Tehditler Karşısında 360 Derece Alan Hakimiyeti
DevOps ile Siber Tehditler Karşısında 360 Derece Alan HakimiyetiDevOps ile Siber Tehditler Karşısında 360 Derece Alan Hakimiyeti
DevOps ile Siber Tehditler Karşısında 360 Derece Alan Hakimiyeti
 
Kayra Otaner - DevOps ile siber saldırılar karşısında 360 derece alan hakimiyeti
Kayra Otaner - DevOps ile siber saldırılar karşısında 360 derece alan hakimiyetiKayra Otaner - DevOps ile siber saldırılar karşısında 360 derece alan hakimiyeti
Kayra Otaner - DevOps ile siber saldırılar karşısında 360 derece alan hakimiyeti
 
Zed attack-proxy-web
Zed attack-proxy-webZed attack-proxy-web
Zed attack-proxy-web
 

More from Umut IŞIK

Açık Kaynağa Nasıl Katkı Yapabiliriz?
Açık Kaynağa Nasıl Katkı Yapabiliriz?Açık Kaynağa Nasıl Katkı Yapabiliriz?
Açık Kaynağa Nasıl Katkı Yapabiliriz?Umut IŞIK
 
Açık Kaynağa Nasıl Katkı Yapabiliriz?
Açık Kaynağa Nasıl Katkı Yapabiliriz?Açık Kaynağa Nasıl Katkı Yapabiliriz?
Açık Kaynağa Nasıl Katkı Yapabiliriz?Umut IŞIK
 
A Ci Experience
A Ci ExperienceA Ci Experience
A Ci ExperienceUmut IŞIK
 
BBS Flyers 08/2016
BBS Flyers 08/2016BBS Flyers 08/2016
BBS Flyers 08/2016Umut IŞIK
 
BBS Flyers 07/2016
BBS Flyers 07/2016BBS Flyers 07/2016
BBS Flyers 07/2016Umut IŞIK
 
BBS Flyers 05/2016
BBS Flyers 05/2016BBS Flyers 05/2016
BBS Flyers 05/2016Umut IŞIK
 
BBS Flyers 03/2016
BBS Flyers 03/2016BBS Flyers 03/2016
BBS Flyers 03/2016Umut IŞIK
 
BBS Flyers 02/2016
BBS Flyers 02/2016BBS Flyers 02/2016
BBS Flyers 02/2016Umut IŞIK
 
BBS Flyers 01/2016
BBS Flyers 01/2016BBS Flyers 01/2016
BBS Flyers 01/2016Umut IŞIK
 
BBS Flyers 12/2015
BBS Flyers 12/2015BBS Flyers 12/2015
BBS Flyers 12/2015Umut IŞIK
 
BBS Flyers 11/2015
BBS Flyers 11/2015BBS Flyers 11/2015
BBS Flyers 11/2015Umut IŞIK
 
BBS Flyers 10/2015
BBS Flyers 10/2015BBS Flyers 10/2015
BBS Flyers 10/2015Umut IŞIK
 
BBS Flyers 09/2015
BBS Flyers 09/2015BBS Flyers 09/2015
BBS Flyers 09/2015Umut IŞIK
 
BBS Flyers 08/2015
BBS Flyers 08/2015BBS Flyers 08/2015
BBS Flyers 08/2015Umut IŞIK
 
BBS Flyers-07-2015
BBS Flyers-07-2015BBS Flyers-07-2015
BBS Flyers-07-2015Umut IŞIK
 
BBS Flyers 06/2015
BBS Flyers 06/2015BBS Flyers 06/2015
BBS Flyers 06/2015Umut IŞIK
 
BBS Flyers 05/2015
BBS Flyers 05/2015BBS Flyers 05/2015
BBS Flyers 05/2015Umut IŞIK
 
BBS Flyers 04/2015
BBS Flyers 04/2015BBS Flyers 04/2015
BBS Flyers 04/2015Umut IŞIK
 
BBB Flyers 03/2015
BBB Flyers 03/2015BBB Flyers 03/2015
BBB Flyers 03/2015Umut IŞIK
 

More from Umut IŞIK (20)

Açık Kaynağa Nasıl Katkı Yapabiliriz?
Açık Kaynağa Nasıl Katkı Yapabiliriz?Açık Kaynağa Nasıl Katkı Yapabiliriz?
Açık Kaynağa Nasıl Katkı Yapabiliriz?
 
Açık Kaynağa Nasıl Katkı Yapabiliriz?
Açık Kaynağa Nasıl Katkı Yapabiliriz?Açık Kaynağa Nasıl Katkı Yapabiliriz?
Açık Kaynağa Nasıl Katkı Yapabiliriz?
 
A Ci Experience
A Ci ExperienceA Ci Experience
A Ci Experience
 
BBS Flyers 08/2016
BBS Flyers 08/2016BBS Flyers 08/2016
BBS Flyers 08/2016
 
BBS Flyers 07/2016
BBS Flyers 07/2016BBS Flyers 07/2016
BBS Flyers 07/2016
 
BBS Flyers 05/2016
BBS Flyers 05/2016BBS Flyers 05/2016
BBS Flyers 05/2016
 
BBS Flyers 03/2016
BBS Flyers 03/2016BBS Flyers 03/2016
BBS Flyers 03/2016
 
BBS Flyers 02/2016
BBS Flyers 02/2016BBS Flyers 02/2016
BBS Flyers 02/2016
 
BBS Flyers 01/2016
BBS Flyers 01/2016BBS Flyers 01/2016
BBS Flyers 01/2016
 
BBS Flyers 12/2015
BBS Flyers 12/2015BBS Flyers 12/2015
BBS Flyers 12/2015
 
BBS Flyers 11/2015
BBS Flyers 11/2015BBS Flyers 11/2015
BBS Flyers 11/2015
 
BBS Flyers 10/2015
BBS Flyers 10/2015BBS Flyers 10/2015
BBS Flyers 10/2015
 
BBS Flyers 09/2015
BBS Flyers 09/2015BBS Flyers 09/2015
BBS Flyers 09/2015
 
Ionic
IonicIonic
Ionic
 
BBS Flyers 08/2015
BBS Flyers 08/2015BBS Flyers 08/2015
BBS Flyers 08/2015
 
BBS Flyers-07-2015
BBS Flyers-07-2015BBS Flyers-07-2015
BBS Flyers-07-2015
 
BBS Flyers 06/2015
BBS Flyers 06/2015BBS Flyers 06/2015
BBS Flyers 06/2015
 
BBS Flyers 05/2015
BBS Flyers 05/2015BBS Flyers 05/2015
BBS Flyers 05/2015
 
BBS Flyers 04/2015
BBS Flyers 04/2015BBS Flyers 04/2015
BBS Flyers 04/2015
 
BBB Flyers 03/2015
BBB Flyers 03/2015BBB Flyers 03/2015
BBB Flyers 03/2015
 

Php projelerinde ci_uygulama