piątek z xsolve - travisci & continuous delivery
Post on 08-Jan-2017
92 Views
Preview:
TRANSCRIPT
Martin Fowler pisze...
Continous Integration ma miejsce wtedy, gdy:
1. Build jest zautomatyzowany.
2. Każdy commit z mastera jest budowany.
3. Każdy developer commituje do mastera codziennie.
Usługi - po 1 liniiDostępne:
● MySQL● PostgreSQL● MongoDB● Apache Cassandra● Elasticsearch● Redis● RabbitMQ● Neo4J● SQLite3
Przykładowa konfiguracja:
(...)
services:- mysql- mongodb- redis
(...)
Tyle, nic więcej ;)
Build matrix
PHP 5.5 PHP 5.6 PHP 7
MySQL 5.5 OK OK FAIL
MySQL 5.6 OK OK FAIL
MySQL 5.5 MySQL 5.6 PostgreSQL 9.3
JDK 7 OK OK OK
JDK 8 FAIL FAIL OK
AWS CodeDeploy
● lekka usługa służąca do deploymentu
● źródło danych - S3 / Github
● inicjalizowanie instalacji
● łatwo podpiąć instancje EC2, można też on-premise
● proste i logiczne skryptowanie przebiegu instalacji
Best practice
● artefakt (np. zip) jest generowany na samym początku
procesu i jest “nieświadomy” środowiska
● rozdzielenie konfiguracji od kodu
● wersjonowanie kodu, konfiguracji, infrastruktury,
schematów bazy danych
● zero manualnych ingerencji w środowisko TEST/PROD
Best practice
● skorzystanie z kontenerów może ułatwić zarządzanie
jednorodnością środowisk
● korzystaj z chmury i jej możliwości
● naucz się AWS CLI ;D
● database refactoring
Database refactoring
● baza danych musi zawsze wspierać wersje
N i N-1 aplikacji
● cel: zero downtime deployments
● http://databaserefactoring.com/ - gotowe przepisy
top related