Dopo la diffusione del Cloud Computing e di Docker, è ancora preferibile
adottare i classici SaaS di Continuous Integration rispetto ad un
sistema Jenkins in cloud?
L'intervento ha l’obiettivo di mostrare un caso d'uso applicato in
Ideato di migrazione da un SaaS quale Travis ad un sistema Jenkins in
cloud, sfruttando funzionalità di on demand tramite il cloud di Amazon
Web Services e di containerizzazione tramite Docker.
Tenendo in considerazione gli aspetti tecnici legati all’implementazione
e quelli che potrebbero impattare sul fronte economico come la mancanza
di automatizzazione e i tempi di setup, verranno mostrati pregi e
difetti di questo sistema e come può essere applicato ad una serie di
progetti. Infine verranno elencati una serie di prodotti recentemente
rilasciati e in grado di far evolvere ulteriormente l'attuale sistema.
35. Containers history
1979 - chroot
unix syscall to change
root directory
of a process to a new location
only visible by that process
36. Containers history
2007 - cgroups
used for limiting, isolating and
accounting
defining CPU, RAM, I/O
37. Containers history
2008 - LXC
first implementation of Linux
containers with several features:
cgroups, namespace, CAP,
API bindings on Ruby,Python..
58. Our Docker Images
FROM ideato/trusty_php:5.5
RUN apt-get install -yq mysql-server-5.5
RUN wget https://phar.phpunit.de/
phpunit.phar
RUN chmod +x phpunit.phar
RUN mv phpunit.phar /usr/local/bin/phpunit
62. Example Project
FROM ideato/trusty_php_CI:5.5
ENV DB default
RUN apt-get install -yq
npm
openjdk-7-jre
openjdk-7-jdk
nodejs
RUN wget https://download.elastic.co/elasticsearch/
elasticsearch/elasticsearch-1.7.3.deb
RUN dpkg -i elasticsearch-1.7.3.deb
ADD bin/run_tests /
ENTRYPOINT [“./bin/run_tests”]