How to setup Product Lines
How to setup various versions of a production environment for software deployment. Versions will increase in terms of scale and complexity as we go along.
Target audience: New Task Force Team Platform Engineer Internship
Scenario:
How to setup Prestashop service to run on different production/testing environments?
- Own repositories (forked eg) + Gitlab CI / CD running + SAST enabled
- Own Containers in use
- CI/CD enabled with Deployment
- Test Case execution as part of pipeline (Eg. Robot Framework)
- Service visible on service platform
- Optional (Loggin enable as simple from)
- Optional (DAST enabled)
Stack#
No matter what platform version you are building, the following will be used as part of the stack
- Operating system: Rocky Linux
- Reference product/software: PrestaShop
- Version control: Gitlab
- CI/CD: Gitlab CI/CD pipelines
V0 Setup Flow#
PrestaShop (along with its requirements like PHP, Apache, MariaDB) installed on a cPouta virtual machine running Rocky Linux.
In the end you will have an online ecommerce store hosted at a domain like: fip-AAA-BBB-CCC-DDD.kaj.poutavm.fi
V1 Setup Flow#
PrestaShop installed inside Docker containers on a cPouta virtual machine running Rocky Linux. Nginx/Apache, MariaDB etc. will run in their own containers.
CI/CD pipelines will be set up so that every time you update the code, the site will get re-deployed automatically.
In the end you will have an online ecommerce store hosted at a domain like: fip-AAA-BBB-CCC-DDD.kaj.poutavm.fi
V2 Setup Flow#
- About Product Platform V2
- 1. Installing MicroK8s on Rocky Linux
- 2. Deploy Gitlab Agent + Runner on MicroK8S
- 3. Setting Up a Service
- 4. CI/CD and Helm installation of PrestaShop
- 5. K9S installation for MicroK8S
- 6. Sharing one MicroK8S for several repositories
- 7. Enabling Test automation pipeline
- 8. Installing of kagents for MicroK8s
- 9. Enabling of Metrics and Monitoring