Slide 1

Slide 1 text

Title Text Body Level One Body Level Two Body Level Three Body Level Four Body Level Five Deploying first application to Cloud Foundry Cloud Foundry Summit Hague 2019 Dr Nic Williams @drnic

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

@drnic Install cf CLI $ Mac, Windows, Linux https://docs.cloudfoundry.org/cf-cli/install-go-cli.html v6 cf7 https://docs.cloudfoundry.org/cf-cli/v7.html UX changes in progress v7

Slide 4

Slide 4 text

@drnic cf login --help USAGE: cf login [-a API_URL] [-u USERNAME] [-p PASSWORD] [-o ORG] [-s SPACE] [--sso | --sso-passcode PASSCODE] EXAMPLES: cf login (login interactively) cf login -u [email protected] -p pa55woRD cf login -u [email protected] -p "my password" cf login -u [email protected] -p "\"password\"" cf login --sso (obtain a one-time passcode to login)

Slide 5

Slide 5 text

@drnic https://www.cloudfoundry.org/certified-platforms/ cf login --api

Slide 6

Slide 6 text

https://github.com/cloudfoundry-incubator/cfdev/ cf dev start

Slide 7

Slide 7 text

@drnic # deploy to cf cf push tiny-ruby # local git clone https://tinyurl.com/tiny-ruby cd tiny-ruby bundle install rackup --port 8080

Slide 8

Slide 8 text

cf push -b ruby_buildpack cf push -m 256M cf push -i 2 # config is reused for future deployments cf push tiny-ruby

Slide 9

Slide 9 text

@drnic cf create-app-manifest tiny-ruby \ -p manifest.yml # automatic discovery of name & config cf push # edit manifest.yml cf push

Slide 10

Slide 10 text

cf logs tiny-ruby --recent # watch for future logs cf logs # application logs [APP/PROC/WEB/4] OUT Happy print statement [APP/PROC/WEB/4] ERR Sad panda

Slide 11

Slide 11 text

@drnic cf help -a # => 300 lines of commands cf repo-plugins # => 80+ community plugins cf install-plugin open cf open tiny-ruby

Slide 12

Slide 12 text

cf marketplace # => different for every Cloud Foundry cf marketplace -s elephantsql service plan description turtle 4 conn, 20MB Storage panda 20 conn, 2GB Storage hippo 300 conns, 100 GB Storage elephant 300 conns, 1000 GB Storage

Slide 13

Slide 13 text

cf create-service elephantsql turtle db Creating service instance cf bind-service tiny-ruby db Binding service db to app tiny-ruby… cf restart tiny-ruby cf service-open db Open service dashboard to browser

Slide 14

Slide 14 text

@drnic cf ssh tiny-ruby vcap@ffa0:~$ /tmp/lifecycle/shell # => loads app environment into shell ps ax 15 … /home/vcap/deps/0/vendor_bundle/ ruby/2.4.0/bin/rackup config.ru -p 8080

Slide 15

Slide 15 text

@drnic env # => all env vars provided to app echo "$VCAP_SERVICES" # => app discovery of available services Convert $VCAP_SERVICES into application config files before app start https://github.com/starkandwayne/ghost-for-cloudfoundry/blob/master/.profile

Slide 16

Slide 16 text

@drnic https://www.cloudfoundry.org/certified-platforms/ cf login --api

Slide 17

Slide 17 text

No content