0% found this document useful (0 votes)
72 views2 pages

DevOps Project Spec

The project aims to create a DevOps pipeline for a web application using technologies like Java, NodeJS, and Angular. An application must be created to test the pipeline that follows best practices like the 12 factor methodology and includes unit and integration tests. Key requirements include dockerizing the application, using a reverse proxy, configuring services with docker-compose, and setting up CI/CD pipelines in Jenkins or Gitlab CI for building, testing, and deploying the application. Optional features include monitoring with Grafana/Prometheus and log management with ELK. The presentation must demonstrate the pipelines and architecture with a live demo of features, code merges, and releases triggering the pipelines.

Uploaded by

Rihem Dridi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
72 views2 pages

DevOps Project Spec

The project aims to create a DevOps pipeline for a web application using technologies like Java, NodeJS, and Angular. An application must be created to test the pipeline that follows best practices like the 12 factor methodology and includes unit and integration tests. Key requirements include dockerizing the application, using a reverse proxy, configuring services with docker-compose, and setting up CI/CD pipelines in Jenkins or Gitlab CI for building, testing, and deploying the application. Optional features include monitoring with Grafana/Prometheus and log management with ELK. The presentation must demonstrate the pipelines and architecture with a live demo of features, code merges, and releases triggering the pipelines.

Uploaded by

Rihem Dridi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

DevOps project spec

The aim of the project is to create a DevOps pipeline for a web(Java, nodeJS, Angular, etc)
application.

An application is required for testing the pipeline, however this application should
respect the following requirements:
1. The application used in the project must respect the rules of the 12-Factor
methodology for easy deployment
2. The application must contain unit tests and integration tests.
3. The UI must display the exact version of the app
4. The application must provide CRUD operation and use a database
5. You must use GIT to store and version your application's source code.

Required features
1. Dockerization of the application: the application must be deployed within docker
containers.
2. Use a reverse proxy that enables secure access to the application.
3. The application must contain a docker-compose file that allows the setup and
configuration of services, networks, volumes and other params in one command
4. Pipelines CI/CD: create and configure pipelines using Jenkins or Gitlab CI that rispects
the following requirements:
a. First pipeline:
i. Only triggered when a merge request is created
ii. Stage 1 Build: Compile and build the app
iii. Stage 2 Unit Test: to run the unit tests
iv. Stage 3 Sonar (Optional): use SonarQube to scan the code a generate
reports
v. Stage 4 Integration Test: to run the integration tests
b. Second pipeline:
i. Only triggered when code is merged into the Develop branch.
ii. Stage 1 Build: to compile and build the application
iii. Stage 2 Unit Test: to run the unit tests
iv. Sonar (Optional): use SonarQube to scan the code a generate reports
v. Stage 4 Integration Test: to run the integration tests
c. Third pipeline:
i. Only triggered when a branch with name release-* is created.
ii. Stage 1: Build docker images from the code(version must be the same as
the branch name) and push the image to a registry.
iii. Stage 2: to deploy the application using the docker images already
created
Optional features
1. Use Grafana / Prometheus to monitor the application.
2. Use ELK stack to extract logs, filter them and create useful dashboard.
3. Create Multi-node infrastructure to run the application locally.

Important informations:
1. The project is to be done in groups of 2 or 3.
2. The presentation should start with a diagram explaining the pipelines and the
deployment architecture.
3. The demo must be live:
a. A new feature is created on a new branch than a merge request is created which
triggers the first pipeline that will compile, build and test the code.
b. Once the code is merged on the Develop branch the second pipeline is triggered.
c. Finally create a new release branch, example release-1.0.0, and this should
trigger the final pipeline that builds the docker images and deploys the solution.
4. 15min for each team.

Good Luck 🙂

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy