Testing pipeline architectural diagram

Introduction

This documentation describes the architectural diagram of the Testing Pipeline for the CI/CD/CT used by the project teams.

Diagrams

Jenkins Pipeline

aws-sde-dop-testing-pipeline-architectural-diagram_00.png

Testing Pipeline

aws-sde-dop-testing-pipeline-architectural-diagram_01.png

Further information

Jenkins Pipeline

The purpose of the Jenkins pipeline is to automatically create Jenkins jobs based on the configuration files pushed by developers to the gitlab-test-cases repository. The jobs are created using the Jenkins REST API. On the first run, this pipeline also handles the deployment of the Jenkins application, which runs within a container.

Testing Pipeline

The Testing Pipeline diagram illustrates the interactions among AWS services when a developer, tester, or DevOps triggers a Jenkins job. Jenkins initiates the deployment of a new Jenkins agent through the ECS plugin. This container will orchestrate the execution of the entire test with python and bash scripts.

Initially, a request is made to AWS Blu Age RTS, initiating the creation of a database. Subsequently, a container housing the modernized application on Tomcat is deployed and connected to the newly created database. A suite of tests, potentially including Groovy, Selenium, or Playwright, is then executed on the server. The pipeline concludes with a comparison of databases with the expected databases, as well as the evaluation of binaries, PDFs, and other files generated by the server. HTML reports are transferred to the EFS and displayed on the Jenkins interface.

Note: All logs beyond a retention period of 10 years are pushed to AWS CloudWatch.