Presentation is loading. Please wait.

Presentation is loading. Please wait.

Johan Info Support. Internet of things Continuous delivery Docker Jenkins Questions.

Similar presentations


Presentation on theme: "Johan Info Support. Internet of things Continuous delivery Docker Jenkins Questions."— Presentation transcript:

1 Johan Janssen, @johanjanssen42, Info Support

2 Internet of things Continuous delivery Docker Jenkins Questions

3

4 Continuous Delivery Virtual machines Provisioning (Chef, Puppet, Vagrant …) Version control / infrastructure as code Isolation Updating and synchronizing environments

5

6

7 April Fools prank It might become real

8

9

10 Automate everything Software quality Continuous improvement Regular deployments Anyone can deploy

11 Version control Compile Quality checks Testing Deployments DevOpsEnd users Etcetera Setup environment

12

13 Automate environment provisioning Automate application deployment

14

15 To enable continuous delivery Quickly provision environments Run the same software local and in the cloud Easy to move software Better performance Higher availability Cheaper

16 Disk space efficiency Memory efficiency Speed Compatibility (run anywhere) Isolation Versioning Internet of Things (Raspberry Pi etc.)

17 Simple general commands No Domain Specific Language (DSL) Configuration with operating system commands

18 FROM ubuntu:saucy RUN apt-get -y install software-properties-common RUN add-apt-repository ppa:webupd8team/java RUN apt-get update && apt-get -y upgrade RUN echo "oracle-java7-installer shared/accepted-oracle-license- v1-1 boolean true" | debconf-set-selections RUN apt-get -y install oracle-java7-installer ENV JAVA_HOME /usr/lib/jvm/java-7-oracle

19 FROM GeneralBase RUN apt-get install -y wget unzip RUN wget http://dist.sonar.codehaus.org/sonarqube-4.2.zip RUN unzip sonarqube-4.2.zip -d /opt RUN rm sonarqube-4.2.zip EXPOSE 9000 EXPOSE 9092 CMD ["/opt/sonarqube-4.2/bin/linux-x86-64/sonar.sh", "console", "/bin/bash"]

20 GeneralBase AppServerBase Environment D Environment T Environment A Environment P Jenkins JenkinsDataContainer SonarGitblitNexus

21 Dockerfile ENV JENKINS_HOME /var/JenkinsData Docker commands docker.io run -v /var/JenkinsData –name JenkinsDataContainer ubuntu:saucy true docker.io run -p 8080:8080 --volumes-from JenkinsDataContainer -d Jenkins

22 # docker.io images --tree └─ 179.9 MB Tags: ubuntu:saucy └─253.6 MB └─741.8 MB Tags: GeneralBase:latest └─763.6 MB Tags: AppServerBase:latest ├─763.6 MB Tags: EnvironmentP:latest └─865.6 MB Tags: Nexus:latest └─808.3 MB Tags: Gitblit:latest └─901.5 MB Tags: Sonar:latest └─805.4 MB Tags: Jenkins:latest

23 real4m11.729s user0m3.329s sys0m10.054s

24

25

26 Creating the Docker registry docker run -p 5000:5000 registry

27 Modify container (for instance with touch) Commit docker.io commit 064f 192.168.56.31:5000/test-version-0.2 New containerid -> ff7e Push docker.io push 192.168.56.31:5000/test-version-0.2

28 Pull docker.io pull 192.168.56.31:5000/test-version-0.2 Run docker.io run -i -t ff7e /bin/bash View the changed container

29

30 docker images -tree └─153bf43b408a 194.2 MB test-version-0.1:latest docker pull 192.168.56.31:5000/test-version-0.2 ff7e110ebadd: Download complete 153bf43b408a: Download complete docker images -tree └─153bf43b408a 194.2 MB test-version-0.1:latest └─ff7e110ebadd 194.2 MB test-version-0.2:latest

31

32

33 Simple to use Really popular Used in many organizations Regular updates Big community creating plugins etc. Most Java developers already use it

34

35

36

37

38 Continuous delivery Continuous deployment

39

40

41 1 2 3 4 7 8 9 10 5 6?

42

43

44 “Life is really simple, but we insist on making it complicated.” - Confucius

45

46 Use a (private) Docker registry Use images from the registry instead of export Keep environmental settings separate Use Jenkins to manage everything Do not add extra functionality like OpenSSH Think about topics such as security, monitoring and logging Separate concerns in separate containers Inherit containers

47

48

49

50

51

52 johan.janssen@infosupport.com @johanjanssen42 http://blogs.infosupport.com/author/johanj/


Download ppt "Johan Info Support. Internet of things Continuous delivery Docker Jenkins Questions."

Similar presentations


Ads by Google