Project

General

Profile

Actions

Task #38

open

Feature #23: Stablish standards and practices to enhance DevOps CI/CD processes.

Create a muti-topic branch CMS_IntegrationTest Jenkins Pipeline

Added by Fernando Jose Capeletto Neto over 1 year ago. Updated over 1 year ago.

Status:
In Progress
Priority:
Normal
Start date:
04/06/2023
Due date:
04/25/2023 (about 17 months late)
% Done:

50%

Estimated time:
32:00 h
Spent time:

Description

Create a muti-topic branch CMS_IntegrationTest Jenkins Pipeline w/ steps:
- a) For TrackHandler: Test - Build - Create Docker Img (Tagged with '1.0-SNAPSHOT', using 'integration-test' spring boot profile, transient to be deleted after test)
- b) For CMSDisplay: Test - Build - Create Docker Img (Tagged with '1.0-SNAPSHOT', pointing to TrackHandler port exposed in the spring boot profile above, the image is also transient to be deleted after the test)
- c) Using a dedicated docker-compose file enclosing both CMS microservices, including a test DB instance with its admin, and start a Cloud Instance over this docker-compose to test the snapshot(s).
- d) The pipeline shall allow specifying the branch for each service.
- e) Document in the CMS wiki the environment vars and profiles used to distinguish from production (Kafka, Rabbit, exposed ports)

= Preliminar Stage =

The following docker-compose file is being used for how:

version: '3'

services:
        cmsdisplay-test:
            container_name: cmsdisplay-integrationtests
            image: fjcapeletto/cmsdisplay:snapshot
            ports:
                - "2983:80" 
            depends_on:
                - trackhandler-test

        trackhandler-test:
            container_name: trackhandler-integrationtests
            image: fjcapeletto/trackhandler:snapshot
            environment:
                - SPRING_PROFILES_ACTIVE=integrationtests
            ports:
                - "2977:2977" 
            depends_on:
                - th-psql-test

        th-psql-test:
            container_name: trackhandlerdb-integrationtests-psql
            image: postgres
            restart: unless-stopped
            environment:
                - POSTGRES_USER=postgres
                - POSTGRES_PASSWORD=trackhandlerpwd
                - POSTGRES_DB=trackhandlerdb
            ports:
                - "6432:5432" 
            volumes:
                - trackhandlertest_db:/var/lib/postgresql
                - postgresql_datatest:/var/lib/postgresql/data

        pgadmin-test:
            container_name: trackhandlerpgadmin-integrationtests
            image: dpage/pgadmin4
            restart: always
            environment:
                PGADMIN_DEFAULT_EMAIL: admin@admin.com
                PGADMIN_DEFAULT_PASSWORD: root
            ports:
                - "6051:80" 

volumes:
    trackhandlertest_db: {}
    postgresql_datatest: {}

Missing * Configure the deployment on cloud.
Actions

Also available in: Atom PDF