Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous delivery pipelines using Python and Docker

Continuous delivery pipelines using Python and Docker

Bogdan Gaza

July 01, 2014
Tweet

More Decks by Bogdan Gaza

Other Decks in Programming

Transcript

  1. Version Control Prod Build (including tests) Deploy to Beta (including

    integration tests) Deploy to Gamma (including integration tests) git Artefact Artefact Artefact Commit PyTim #6 workflow to deliver code from commit to production
  2. Version Control Prod Build (including tests) Deploy to Beta (including

    integration tests) Deploy to Gamma (including integration tests) git Artefact Artefact Artefact Commit PyTim #6 workflow to deliver code from commit to production
  3. PyTim #6 Artefact Install dependencies Run Tests Package dependencies Build

    Run VM Install dependencies Start Service Deploy to Beta Run Tests
  4. PyTim #6 Artefact Install dependencies Run Tests Package dependencies Build

    Run VM Install dependencies Start Service Deploy to Beta Run Tests
  5. What is a container? PyTim #6 Lightweight linux environment
 Hermetically

    sealed
 Runnable artefact
 Recently popularised by Docker
  6. What is a container? PyTim #6 Usually refers to LXC

    (Lightweight Linux Containers)
 ”Chroot on steroids”

  7. What is a Docker? PyTim #6 $ docker push memcached

    push $ docker pull memcached pull
  8. What is a Docker? PyTim #6 Initial import - installed

    dependencies Base Ubuntu 14.04 Image Changed upstart configuration Read configuration from env a6e6ad60775b 2ef2eea4a089 dc2b44fbfcfb 80bb15227646 Layered filesystem
  9. PyTim #6 Version Control Prod Build (including tests) Deploy to

    Beta (including integration tests) Deploy to Gamma (including integration tests) git Artefact Artefact Artefact Commit
  10. PyTim #6 Version Control Prod Build (including tests) Deploy to

    Beta (including integration tests) Deploy to Gamma (including integration tests) git Artefact Artefact Artefact Commit
  11. PyTim #6 Docker c3.large 14.04 14.04 Orchestration c3.large Docker Orchestration

    Docker c3.large 14.04 14.04 Orchestration c3.large Docker Orchestration keep + etcd Game Server Game Server (dev) Game Server Game Server Game Server (beta) Game Server (beta) API API API API (dev) API (beta) API (beta)