3. Continuous Delivery
Continuous Delivery is a software development discipline
where you build software in such a way that the software
can be released to production at any time.
Fowler
(http://martinfowler.com/bliki/ContinuousDelivery.html)
4. Continuous Delivery
Checklist
1. Your software is deployable throughout its
lifecycle
2. Your team prioritizes keeping the software
deployable over working on new features
3. Anybody can get fast, automated feedback on
the production readiness of their systems any time
somebody makes a change to them
4. You can perform push-button deployments of
any version of the software to any environment on
demandFowler (http://martinfowler.
com/bliki/ContinuousDelivery.
html)
5. Pipeline di CI/CD: differenza
http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
6. Un esperimento iniziato 3 anni fa...
Mappu:
sproutcore + nodejs + postgresql + redis
geoserver + mapfish
7. Un esperimento iniziato 3 anni fa...
1. shell script + tar.gz
2. SaltStack states + tar.gz
3. SaltStack states + RPM
10. Package
deliverables /
artifacts /
core
dependencies
Vantaggi:
1. rpm/deb (no, .tgz non è un pacchetto)
2. dipendenze
3. può essere rimosso
4. semplifica upgrade
5. verifica integrità
6. ridistribuisce responsabilità fra dev e ops
7. versioning
Svantaggi:
A. creazione di pacchetti è difficile (tip: fpm)
B. chi è proprietario del pacchetto?