Cloud Foundry buildpacks
Hello!Hristo & Ivan You can find us at:@hsiliev@botu6aa
1.Pushing
applicationsStaging vs Starting
DemoCreate app
HTML
Push process
Upload Stage Start
Upload
▧Create metadata
▧Check missing filesHash
▧Upload in blobstore
BlobstoreStores binary data
Upload
DemoUpload
cf push app --no-start
Stage
▧Download dependencies
▧ Modify configuration
▧Build droplet
Droplet= application + frameworks + server +
runtime
Staging
Start
▧Download droplet
▧ Start app container
Container= binaries + metadata + process
Start
DemoStage & Start
cf start app
2.Buildpacks
What? How? When? Why?
“Buildpacks examine artifacts
to determine what dependencies to download
and how to configure applications to communicate
with bound services.
What they do?
▧Examine artifacts
▧ Download dependencies
▧Configure applications
How they do it?
/bin/detect
/bin/compile
/bin/release
Diagram featured by http://slidemodel.com
How?
▧ /bin/detectapply the buildpack?
▧/bin/compilepackage dependencies
▧/bin/releasestart command
Detect
▧ Inputapplication
▧ Output1 - I don’t like it0 - I’ll see what I can do
Compile
▧ Input: build dircache dir
▧ Outputlogs (stdout /stderr)droplet binaries
Release
▧ Input: build dir
▧ Outputstart command
When?
▧StagingInput: appOutput: droplet
▧ StartInput: dropletOutput: app process
Why?
▧Custom runtimes
▧SeparationPlatformRuntimes
▧Isolation & Security
3.Build build
pack
BackgroundBing’s image of the day
https://github.com/hsiliev/staticfile-buildpack
Modify buildpack
▧ChangeBashRuby, ...
▧ Packpackager
▧Uploadcf admin
DemoModify buildpack
change, pack, upload
4.Don’t do that!
at work
Goodbuild tools
distroscache
-->
vs.
Badapt-get
no rootdownload everything
speedresources
Thanks!
Any questions?
You can find us at:@hsiliev & @botu6aa
Credits
Special thanks to all the people who made and released these awesome resources for free:▧ Presentation template by SlidesCarnival▧ Photographs by Unsplash▧ Backgrounds by Pixeden
SlidesCarnival icons are editable shapes.
This means that you can:● Resize them without losing
quality.● Change fill color and opacity.
Isn’t that nice? :)
Examples:
Now you can use any emoji as an icon!And of course it resizes without losing quality and you can change the color.
How? Follow Google instructions https://twitter.com/googledocs/status/730087240156643328
✋👆👉👍👤👦👧👨👩👪💃❤😂😉😋😒😭 😸🏃💑 👶 🐟🍒
🍔💣📌📖🔨🎃🎈🎨🏈🏰🌏🔌🔑 and many more...
��