I am new to the CI/CD pipeline. I have been a developer for a while, but using traditional programming. Docker/Kubernetes and this CI/CD pipeline is all new to me. I am confused and all the videos and training only talks about small applications not larger scale apps.
I have a Flask app with multiple containers.
Most of the containers are default images with Enviroment variables. The only containers that have customizations are the Flask and Celery containers. Could someone explain to me how I would write a CI/CD pipeline to only build those images without building the rest if needed? I am using docker-compose . Is this how it is supposed to work, or is there an easier approach.
--- version: "3" services: flask: build: image: mrjoli021/basic_flask:1.5 container_name: flask environment: - CONTAINER=flask volumes: - ./app/:/app restart: unless-stopped stdin_open: true #entrypoint: /bin/bash networks: - api nginx: image: nginx:latest container_name: nginx depends_on: - flask #entrypoint: /bin/bash volumes: - ./nginx_config:/etc/nginx/conf.d - ./app/:/app ports: - "443:443" networks: - api celery: build: context: mrjoli021/basic_flask:1.5 container_name: celery environment: - CELERY_BROKER_URL=redis://redis:6379/0 depends_on: - redis volumes: - ./app/:/app restart: unless-stopped stdin_open: true networks: - api redis: image: redis:latest container_name: redis depends_on: - flask networks: - api # TODO set flower to go through nginx for https flower: image: mher/flower:latest container_name: flower depends_on: - redis environment: - CELERY_BROKER_URL=redis://redis:6379/0 - FLOWER_PORT=5555 ports: - "5555:5555" networks: - api networks: api: driver: bridge