Atlassian User Group Lower Silesia BUILDFAILUJE? PRZECIEŻ U MNIE DZIAŁAŁO
1. Czyli jak Docker pozwala dostarczać środowisko testowe
razem z aplikacją.
BUILD FAILUJE? PRZECIEŻ U MNIE DZIAŁAŁO.
Rafał Sumisławski – NetworkedAssets
Atlassian User Group Lower Silesia 25.03.2015
5. • Zarzadzanie w stylu gita
• Docker Hub
• Git Hub?
• Zarządzanie Dockerami
• Dockerfile
Zarządzanie kerami
•
Zarządzanie Dockerami
Virtual Machine Docker
keramiZarządzanie DockeramiZarządzanie
•
keramiZarządzanie Dockerami
• Dockerfile
•
•
Docker
•
gita•
Docker
•
• Zarzadzanie w stylu
Docker Hub
• Git Hub?
stylu gitagitaFROM java:openjdk-8-jdk
ENV MAVEN_VERSION 3.2.5
RUN curl -sSL http://archive.apache.org/dist/maven/maven-
3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz
| tar xzf - -C /usr/share
&& mv /usr/share/apache-maven-$MAVEN_VERSION /usr/share/maven
&& ln -s /usr/share/maven/bin/mvn /usr/bin/mvn
ENV MAVEN_HOME /usr/share/maven
CMD ["mvn", "--version"]
• Docker Engine
• namespaces + cgroups – izolacja zasobów
• union file system
25.03.2015 5AUG Lower Silesia
Czym jest Docker?
Operating-system-level Virtualization
6. 25.03.2015 6AUG Lower Silesia
1 Docker – 1 Proces
Proces główny
• PID 1
• Czas życia kontenera taki sam jak procesu głównego
• Std I/O Dockera = Std I/O procesu
Zalety:
• Łatwiejsze zarządzanie
• Separacja
Wady:
• Separacja ;)
• Dużo Dockerów
8. 25.03.2015 8AUG Lower Silesia
Bamboo i Docker
Bamboo 5.8
Docker Task – Uruchamianie Dockerów
podczas buildu
Bamboo 5.7
Uruchamianie Agentów Bamboo na Dockerze
9. 25.03.2015 9AUG Lower Silesia
Bamboo Docker Task
• Build a Docker image
• Run a Docker container
• Forground
• Background
• Push a Docker image to Docker Registry
Dockerfile może być pobierany z VCS
lub wpisany w Bamboo
11. 25.03.2015 11AUG Lower Silesia
Docker w CI (Bamboo)
Zalety:
• Nie potrzeba niczego poza Dockerem
• Reset środowiska po każdym buildzie
• Środowisko identyczne z deweloperski i produkcyjnym
• Łatwa modyfikacja i powielanie środowiska testowego
Wady:
• Koszt stworzenia Dockerów
• Dodatkowa warstwa
• Braki w Docker Task
12. 25.03.2015 12AUG Lower Silesia
Agenci Bamboo jako
kontenery Dockera (Bamboo 5.7)
Obrazy:
• atlassian/bamboo-base-agent
• atlassian/bamboo-java-agent
docker run -e HOME=/root/ -e BAMBOO_SERVER=http://192.168.16.11:8085 -i -t atlassian/bamboo-java-agent:5.6.1
Żeby szybko tworzyć i aktualizować agentów Bamboo
Po co?
13. 25.03.2015 13AUG Lower Silesia
Podsumowanie
Możliwość dostarczania aplikacji razem ze środowiskiem
• Izolacja od czynników zewnętrznych
• Małe narzuty
• Dockerfile – tekstowy opis środowiska
• Mechanizmy dystrybucji obrazów
• Kompatybilność z Bamboo
„Works on my machine”
„Works on THE machine”
„Works everywhere”
14. ul. Legnicka 50
54-204 Wrocław
tel +48 71 358 26 79
fax +48 71 358 26 78
www.networkedassets.pl
Dziękuję za uwagę!
Rafał Sumisławski
rsumislawski@networkedassets.org