Buildpacks detect, compile, release

Preview:

Citation preview

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

5.Testing

machete

Thanks!

Any questions?

You can find us at:@hsiliev & @botu6aa

hsiliev@gmail.com & ivan.borshukov@gmail.com

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...

��