Get Started. It's Free
or sign up with your email address
Release stage by Mind Map: Release stage

1. build docker release image

1.1. minimal runtime env

1.2. install application artifacts

2. serving the application in production

2.1. overview

2.1.1. Untitled

2.2. nginx

2.2.1. front end server

2.2.2. authentication middleware for security

2.2.3. serving static content at scale

2.3. uWSGi

2.3.1. application container

2.3.2. convert incoming requests

2.4. uwsgi protocol

2.4.1. file based / network based

3. release env

3.1. prod-like env

3.2. external test runner to run acceptance tests

4. tag and publish

4.1. only if acceptance tests pass

4.2. docker hub

5. release stage

5.1. create release env

5.1.1. create application release settings

5.1.1.1. folder structure

5.1.1.1.1. Untitled

5.1.1.2. release.py

5.1.1.2.1. Untitled

5.1.1.3. update setup.py

5.1.1.3.1. Untitled

5.2. build a release image

5.2.1. create release image

5.2.1.1. folder structure

5.2.1.1.1. Untitled

5.2.1.2. dockerfile

5.2.1.2.1. overview

5.2.1.2.2. explain

5.2.2. describe the release env

5.2.2.1. release environment design

5.2.2.1.1. Untitled

5.2.2.2. docker-compose.yml

5.2.2.2.1. app service

5.2.2.2.2. webroot

5.2.2.2.3. nginx service

5.2.2.2.4. db service

5.2.2.2.5. agent service

5.2.2.3. create todobackend.conf

5.2.2.3.1. Untitled

5.2.3. test the release image

5.2.3.1. release environment issues

5.2.3.1.1. Untitled

5.2.3.2. debugging issues

5.2.3.2.1. $ docker-compose build

5.2.3.2.2. $ docker-compose up agent

5.2.3.2.3. $ docker-compose up app

5.2.3.2.4. uwsgi: error while loading shared libraries

5.2.3.2.5. django: error loading MySQLdb module: libmysqlclient

5.3. bootstrap release env

5.3.1. static files not collected

5.3.1.1. overview

5.3.1.1.1. Untitled

5.3.1.2. command

5.3.1.2.1. $ docker-compose build

5.3.1.2.2. $ docker-compose up agent

5.3.1.2.3. $ docker-compose up app

5.3.1.2.4. $ docker-compose up nginx

5.3.1.2.5. after nginx test 8000 port on browser

5.3.1.2.6. initialization tasks

5.3.2. server error (500)

5.3.2.1. problem

5.3.2.1.1. Untitled

5.3.2.2. troubleshoot

5.3.2.2.1. configure debug flag

5.3.2.2.2. only have an empty database schema and tables

5.3.2.2.3. docker-compose run --rm app manage.py migrate --noinput

5.3.3. start application

5.3.4. review

5.3.4.1. Untitled

5.4. acceptance testing

5.4.1. acceptance tests folder

5.4.1.1. Untitled

5.4.2. Dockerfile

5.4.2.1. Untitled

5.4.3. $ docker build -t jmenga/todobackend-specs

5.4.4. create a test service

5.4.4.1. Untitled

5.4.4.2. Untitled

5.4.5. run acceptance tests

5.4.5.1. command

5.4.5.1.1. $docker-compose kill

5.4.5.1.2. $docker-compose build

5.4.5.1.3. $docker-compose up agent

5.4.5.1.4. $docker-compose run --rm app manage.py collectstatic --noinput

5.4.5.1.5. $docker-compose run --rm app manage.py migrate --noinput

5.4.5.1.6. $docker-compose up test

5.4.5.1.7. $docker-compose ps

5.4.6. output

5.4.6.1. Untitled

5.4.7. tag release image

5.4.7.1. $docker tag release_app jmenga/todobackend:0.1.0

5.4.7.2. Untitled

5.4.8. publish release image

5.5. could be further expanded to include

5.5.1. load testing

5.5.2. security testing

6. review

6.1. build phase

6.1.1. Untitled

6.2. release phase

6.2.1. Untitled

7. summary

7.1. create release image from application build artifacts

7.2. verifies application passes acceptance tests in a release environment

7.3. runs from a release environment

7.4. requires initialization task

7.5. release image ready to be published and deployed if all tests passes