Oslo Day of Docker Opening Keynote

57
cyber-dojo executing your code for fun and not for profit

Transcript of Oslo Day of Docker Opening Keynote

Page 1: Oslo Day of Docker Opening Keynote

cyber-dojoexecuting your code for fun and not for profit

Page 2: Oslo Day of Docker Opening Keynote

late 2009

Page 3: Oslo Day of Docker Opening Keynote
Page 4: Oslo Day of Docker Opening Keynote
Page 5: Oslo Day of Docker Opening Keynote
Page 6: Oslo Day of Docker Opening Keynote
Page 7: Oslo Day of Docker Opening Keynote
Page 8: Oslo Day of Docker Opening Keynote
Page 9: Oslo Day of Docker Opening Keynote
Page 10: Oslo Day of Docker Opening Keynote
Page 11: Oslo Day of Docker Opening Keynote

https://github.com/JonJagger/cyber-dojo

Page 12: Oslo Day of Docker Opening Keynote

Interactive Dojo Environment

Integrated Development Environment

• team based • learning focused • test driven • work slower • no time pressure • repeat work • have fun

• individual based • finish focused • test driven? • work faster • time pressure • don't repeat work • make money

Page 13: Oslo Day of Docker Opening Keynote
Page 14: Oslo Day of Docker Opening Keynote

demo

Page 15: Oslo Day of Docker Opening Keynote
Page 16: Oslo Day of Docker Opening Keynote
Page 17: Oslo Day of Docker Opening Keynote
Page 18: Oslo Day of Docker Opening Keynote

6x

Page 19: Oslo Day of Docker Opening Keynote

6x

Page 20: Oslo Day of Docker Opening Keynote

6x

Page 21: Oslo Day of Docker Opening Keynote

6x

Page 22: Oslo Day of Docker Opening Keynote

6x

Page 23: Oslo Day of Docker Opening Keynote

6x

Page 24: Oslo Day of Docker Opening Keynote

6x

30 seconds

Page 25: Oslo Day of Docker Opening Keynote

6x

Page 26: Oslo Day of Docker Opening Keynote

red == tests ran; 1 or more failed

6x

Page 27: Oslo Day of Docker Opening Keynote

green == tests ran; all passed

6x

Page 28: Oslo Day of Docker Opening Keynote

amber == tests didn't run

6x

Page 29: Oslo Day of Docker Opening Keynote
Page 30: Oslo Day of Docker Opening Keynote
Page 31: Oslo Day of Docker Opening Keynote

time's up!

Page 32: Oslo Day of Docker Opening Keynote

Interactive Dojo Environment

Integrated Development Environment

• team based • learning focused • test driven • work slower • no time pressure • repeat work • have fun

• individual based • finish focused • test driven? • work faster • time pressure • don't repeat work • make money

Page 33: Oslo Day of Docker Opening Keynote

• work slower • work faster

FAQ

Page 34: Oslo Day of Docker Opening Keynote

• learning focused • finish focused

Page 35: Oslo Day of Docker Opening Keynote
Page 36: Oslo Day of Docker Opening Keynote

how does it work?

Page 37: Oslo Day of Docker Opening Keynote

.../katas/B6/A35C8EF4/manifest.json

Java Cucumber FizzBuzz

cyber-dojo.org uuidgen == B6A35C8EF4

{ language: "Java, Cucumber", exercise: "FizzBuzz" }

Page 38: Oslo Day of Docker Opening Keynote

B6A35C

cyber-dojo.org

.../katas/B6/A35C8EF4/frog/sandbox/

avatar == frog

.../katas/B6/A35C8EF4/frog/.git/

Page 39: Oslo Day of Docker Opening Keynote

cyber-dojo.org

.../katas/B6/A35C8EF4/frog/sandbox/source-files

source-files

Page 40: Oslo Day of Docker Opening Keynote

cyber-dojo.org

.../katas/B6/A35C8EF4/manifest.json{ language: "Java, Cucumber", ... }

cyberdojofoundation/java_junit cyberdojofoundation/java_cucumber cyberdojofoundation/csharp_nunit cyberdojofoundation/go_testing

docker containers

Page 41: Oslo Day of Docker Opening Keynote

cyber-dojo.orggoogle compute engine instances

gce-node-01

gce-node-02

gce-node-03

cyberdojofoundation/java_cucumber

cyberdojofoundation/java_cucumber

cyberdojofoundation/java_cucumber

cyberdojofoundation/... cyberdojofoundation/...

cyberdojofoundation/... cyberdojofoundation/...

cyberdojofoundation/... cyberdojofoundation/...

Page 42: Oslo Day of Docker Opening Keynote

cyber-dojo.org.../katas/B6/A35C8EF4/frog/sandbox/source-files

gce-node-02 /tmp/.../source-files

rsync cyberdojofoundation/java_cucumber

google compute engine instance

Page 43: Oslo Day of Docker Opening Keynote

gce-node-02/tmp/.../source-files

$ eval "$(docker-machine env gce-node-02)" $ docker run \ --volume=/tmp/.../:/sandbox:rw \ --net=none \ ... cyberdojofoundation/java_cucumber \ /bin/bash "timeout 10s ./cyber-dojo.sh 2>&1"

cyber-dojo.org

cyberdojofoundation/java_cucumber

google compute engine instance

Page 44: Oslo Day of Docker Opening Keynote

gce-node-02/tmp/.../source-files

cyber-dojo.org

cyberdojofoundation/java_cucumber

$ eval "$(docker-machine env gce-node-02)" $ docker run \ --volume=/tmp/.../:/sandbox:rw \ --net=none \ ... cyberdojofoundation/java_cucumber \ /bin/bash "timeout 10s ./cyber-dojo.sh 2>&1"

google compute engine instance

Page 45: Oslo Day of Docker Opening Keynote

regexcyber-dojo.org

Page 46: Oslo Day of Docker Opening Keynote

cyber-dojo.org

git commit.../katas/B6/A35C8EF4/frog/sandbox/.../katas/B6/A35C8EF4/frog/.git/

Page 47: Oslo Day of Docker Opening Keynote

git gotcha!

Page 48: Oslo Day of Docker Opening Keynote
Page 49: Oslo Day of Docker Opening Keynote

test_wrapper.sh

Page 50: Oslo Day of Docker Opening Keynote

summary

Page 51: Oslo Day of Docker Opening Keynote

Interactive Dojo Environment

Integrated Development Environment

• team based • learning focused • test driven • work slower • no time pressure • repeat work • have fun

• individual based • finish focused • test driven? • work faster • time pressure • don't repeat work • make money

Page 52: Oslo Day of Docker Opening Keynote

30,000+ practice-sessions

Page 53: Oslo Day of Docker Opening Keynote
Page 54: Oslo Day of Docker Opening Keynote

Bray

Page 55: Oslo Day of Docker Opening Keynote

thank you

Page 56: Oslo Day of Docker Opening Keynote

thank yous

Byran Wills-Heath Nadya Sivers Seb Rose

Olve Maudal Dymtro Mindra Mike Long

Page 57: Oslo Day of Docker Opening Keynote

twitter : @JonJaggeremail : [email protected]

blog : http://jonjagger.blogspot.co.uk/charity : http://cyber-dojo.org