deployment-talk



deployment-talk

0 0


deployment-talk


On Github apinnecke / deployment-talk

From GitHub to Production

Automate everything

Who's that in front? O_o

Alexander Pinnecke // etventure.com

Frontend Software Engineer Developer automation & operations

Loves music, plays drums

First day

Changed something
Wanna deploy
Where's the button?

No Button.

$ ssh fancy.server.fqdn
$ cd /into/fancy/dir
$ git pull

Seriously, it's 2016.

Project types

Doc Repos
Frontend Projects
Frontend Libs (npm)
Backend Projects

Requirements

git .repo:is(develop) push:after {
    content: "Deployment running!";
    ci-server: circle-ci;
    kube-cluster: staging;
    fanciness: visible;
}
Execute tests
Bump package.json version
Build CHANGELOG.md
Build Docker Container
Push Docker Container
Trigger Kubernetes Rolling update
Push to slack
SSH

we have

GitHub
Circle.CI
Kubernetes
Google Cloud Platform
Docker
Slack
GitHub Circle.CI Kubernetes Google Cloud Platform Docker Slack

Deployment Repo

Circle.yml files
Deploy scripts
Build scripts

Pitfalls

Git Flow

brew install git-flow-avh
sudo apt-get install git-flow
image/svg+xml

Code: {{ external }}

Installing was hard. Did not work by package manager Installing via git wasn't working either 5h getting stuff fixed

kubernetes

Regarding this fancy rolling-update ...

We wanna see it in action!

And we wanna see some code!

{{ DEMO }}

Conventional Changelog

What's next?

  • Build Queue worker for kubeCtl rolling-update
  • Add Monitoring for container and cluster
  • Build Zazu Apps for Circle Status
  • Build Zazu Apps for Kubernetes RC Status
  • Build a status overview for all components

Questions?

Thanks

Alexander Pinnecke
GitHub Twitter
From GitHub to Production Automate everything http://apinnecke.github.io/deployment-talk/