Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

DEVELOPMENT CODE COMMIT STAGING PRODUCTION

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

FROM node:8.6.0-alpine WORKDIR /usr/app RUN apk update && apk add postgresql COPY package.json . RUN npm install --quiet COPY . . CMD ["npm", "start"]

Slide 10

Slide 10 text

version: '3' services: web: build: . command: npm run dev volumes: - .:/usr/app/ - /usr/app/node_modules ports: - "3000:3000" depends_on: - postgres environment: DATABASE_URL: postgres://postgres@postgres postgres: image: postgres:9.6.2-alpine

Slide 11

Slide 11 text

/> docker-compose up Building web Step 1/7 : FROM node:8.6.0-alpine ---> b7e15c83cdaf Step 2/7 : WORKDIR /usr/app ---> Using cache ---> 930841436abd Step 3/7 : RUN apk update && apk add postgresql ---> Using cache ---> 723796574582 Step 4/7 : COPY package.json . ---> ebf3d00f6e65 Removing intermediate container 47a5ab5f7e4c Step 5/7 : RUN npm install --quiet ---> Running in 4d0e1487b2dc

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

DEVELOPMENT CODE COMMIT STAGING PRODUCTION

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

web: build: dockerfile_path: Dockerfile image: registry.heroku.com/todos-js/web links: - postgres environment: DATABASE_URL: postgres://postgres@postgres cached: true postgres: image: postgres:9.6.2-alpine cached: true

Slide 17

Slide 17 text

- type: parallel steps: - name: lint service: web command: npm run lint - name: tests service: web command: bin/ci "npm test -- --forceExit"

Slide 18

Slide 18 text

/> jet steps (step: tests) (step: lint) (image: registry.heroku.com/todos-js/web) (service: web) (image: registry.heroku.com/todos-js/web) (service: web) Step 1/7 : FROM node:8.6.0-alpine (image: registry.heroku.com/todos-js/web) (service: web) ---> b7e15c83cdaf (image: registry.heroku.com/todos-js/web) (service: web) Step 2/7 : WORKDIR /usr/app (image: registry.heroku.com/todos-js/web) (service: web) ---> Using cache (image: registry.heroku.com/todos-js/web) (service: web) ---> 930841436abd (image: registry.heroku.com/todos-js/web) (service: web) Step 3/7 : RUN apk update && apk add postgresql (image: registry.heroku.com/todos-js/web) (service: web) ---> Using cache (image: registry.heroku.com/todos-js/web) (service: web) ---> 723796574582 (image: registry.heroku.com/todos-js/web) (service: web) Step 4/7 : COPY package.json . (image: registry.heroku.com/todos-js/web) (service: web) ---> Using cache (image: registry.heroku.com/todos-js/web) (service: web) ---> f4366f587688

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

DEVELOPMENT CODE COMMIT STAGING PRODUCTION

Slide 22

Slide 22 text

heroku_dockercfg: image: codeship/heroku-dockercfg-generator add_docker: true encrypted_env_file: deployment.env.encrypted

Slide 23

Slide 23 text

- service: web type: push image_name: registry.heroku.com/todos-js/web registry: registry.heroku.com dockercfg_service: heroku_dockercfg

Slide 24

Slide 24 text

/> jet steps --push --tag master /> git commit -am “updated app” /> git push

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

No content