際際滷

際際滷Share a Scribd company logo
Umut IIK
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
Wikipediadaki 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?
Wikipediadan 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.comdaki 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 ilemi otomatikletirilebilmeli
 Canl脹 ile ayn脹 ortamda test edilebilmeli
 Oluan her paket/build kendi testini de i巽ermeli
 S脹k commit
 Eriilebilir raporlar
1. CI nedir?
Yeni bir olay deil!
Yeni bir ekip 端yesi
 Kod incelemesi yapar
 Teknik geliimi tevik 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 baar脹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 旦zellii ile geliyor
.gitlab-ci.yml
Premiumda 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脹 hiyerari
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
Teekk端rler

More Related Content

Php projelerinde ci_uygulama