A Kanban board is a project management tool designed to help visualize work, manage project tasks, workflows and communication. In this challenge, you are going to write the unit test cases for the given Kanban board Flask application using Pytest and deploy the application using Docker Compose.
Instructions:
1. Write the unit test cases using Pytest testing framework in the following path
2. Refer 'test.py' file for further instructions.
3. Commands to Execute:
- 'export FLASK APP-app.py' to set an environment variable.
- 'python3 m flask run' to run the Flask application.
- 'python3 m pytest test.py' to run the test cases.
4. Once you done with test cases. Deploy the Kanban board Flask application in Docker using Docker Compose.
5. Create a 'Dockerfile' to dockerize the Kanban board Flask application with 'python alpine3.7 as its base image named 'kanbanboard_app_image".
6. Create 'docker-compose.yml file to create a service named 'app' with the docker image (kanbanboard_app_image), container named "kanbanboard_app_container', connect a bridge network named 'app_network', attach a volume named 'app_volume' and deploy the application in 5005 port.
7. Visit "http://localhost:5005/" URL in the browser and ensure that the application is running successful.
Step1: Create a docker file for the flask app
Dockerfile :
FROM python:3.7-alpine
WORKDIR /app
COPY . /app
RUN pip install requirement.txt
ENV FLASK_APP=app.py
ENV FLASK_RUN_HOST=0.0.0.0
ENV FLASK_RUN_PORT=5000
ENV FLASK_ENV=development
CMD ["flask", "run"]
## test the docker image that to be built from dockerfile
docker build -t kanbanboard_app_image .
docker run kanbanboard_app_image
docker ps -a
docker stop <container-id>
Step2: Create a docker-compose.yml file
docker-compose.yml:
version: '3.3'
services:
app:
image: kanbanboard_app_image
build: ./app
container_name: kanbanboard_app_container
ports:
- "5005:5005"
networks:
- app_network
volumes:
- app_volume:/app
networks:
app_network:
driver: bridge
volumes:
app_volume:
## test and run using docker compose
docker compose build --up
Comments
Post a Comment