README update

This commit is contained in:
JustFiesta 2024-07-05 16:19:58 +02:00
parent 60d7c06280
commit 942d99ce31

View file

@ -16,15 +16,13 @@ They are needed for conenction to RDS. One can use it via `docker -e MYSQL_...`
<hr>
## Overwiev
## Overview
### Build
* Application is built with Gradle 8.X
* Checkstyle is provided via Gradle plugin
<hr>
### CI/CD
Jenkins server can be used in two ways:
@ -34,35 +32,36 @@ Jenkins server can be used in two ways:
Each will change a bit in configuration.
<hr>
### Dockerfile
Dockerfile is provided, also compose file for testing is present. Additionally, there is compose file with provided sample connection string - one needs to change it accoring to RDS endpoint and user data.
<hr>
## Explanation of components
### CI/CD
Agent is configured via command got from main Controller (Or used as a separete server - then Jenkins file agent need to be updated) and to be initilized manually (user, password, plugins, connection, etc.)
Jenkins server can be configured in two ways: agent, separete build server.
As default Jenkins is configured as agent for main Controller and needs to be initilized manually (user, password, plugins, connection, etc.)
Agent usage:
* In Controller add agent
* Add agent via commend given from Controller.
* Ensure all needed credentials are added in Controller (DockerHub, GitHub, AWS, etc.) - check infrastructure README
* Create multibranch pipeline job in Controller with GitHub project and SCM pipeline.
* Ensure all needed credentials are added in Controller (DockerHub, GitHub, AWS, etc.) - check spring-petclinic-infrastructure README
* Configure repository webhook for server
Separete server usage:
* For the pipeline to work correctly one needs to setup credentials for Docker Hub and GitHub in Jenkins server
* Change `agent` in Jenkinsfile to `any`
* Configure repository webhook for server
<hr>
### Dockerfile
For image creation basic Gradle image is used for build purposes, with addition of distroless layer for application. Image is split into layers according to (at time of creation and my knowlage) current standards, and optimalized for minimal size.
Two compose files are present - one for testing connection string, other for providing container that connects to RDS.
<hr>
Two compose files are present - one for testing connection string, other for providing container that connects to RDS.