Skip to content

Commit

Permalink
reworded [skip CI]
Browse files Browse the repository at this point in the history
  • Loading branch information
ericdeback committed May 31, 2024
1 parent 0ae3241 commit ef47e87
Showing 1 changed file with 9 additions and 15 deletions.
24 changes: 9 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ This project demonstrates best-practices of a CICD pipeline development. I've us
### CICD Pipeline Strategy

1. After a Push or Pull Request into master, CICD_Main_Pipeline.yml is executed. This workflow takes a build through three test levels to a fictional production environment
3. CICD_Main_Pipeline.yml performs the following steps:
2. CICD_Main_Pipeline.yml performs the following steps:
- Setup: JDK 19 (OpenJDK temurin|zulu distribution) is deployed to the runner (self-hosted). THe latest version of the this script:
- Checks if the correct version of JDK is already installed and if it is, proceeds to build
- If not, the cache is checked and if present downloaded from there
Expand All @@ -33,9 +33,13 @@ This project demonstrates best-practices of a CICD pipeline development. I've us
- Docker: Docker creates a new Docker image from the project Dockerfile, copies and executes the mainClass from project Jar (no test execution)
- My workflow yml uses various strategies to test on OS, browsers and platforms. OS and browsers are configured via the strategy syntax and platfoms via Maven profiles
- Test Reporting. By default, Junit provides limited test reporting capability. Certainly, for client projects in regulated markets more transparency is necessary. The addition of
customer reporting classes (DisplayNameReporter.class) or reporting frameworks, e.g. Allure, improve this greatly.
3. Custom reporting classes (DisplayNameReporter.class) or reporting frameworks, e.g. Allure, improve this greatly.

#Note:
### Workflow Schedule

[here](WorkflowSchedule.md)

### Note:

Caching is provided by actions/cache but, whilst useful, caches in the cloud. For project dependencies there is a valid usecase to cache in the cloud. OpenJDK packages
have proved very slow to sync onto a self-hosted runner and given the lack of need to constantly update, I have added the follow step to my workflow which checks
Expand Down Expand Up @@ -78,16 +82,6 @@ for a local installation of (the correct version) of Java (bashrc version):
restore-keys: |
${{ runner.os }}-java-

### Limitations



### Backlog

These are items I would like to explorer further as they will make useful contributions to my understanding of DevOps CICD:

1. Create DORA metrics. Github Actions does not provide these out of the box (why not). Need to investigate what are freeware solutions to quickly expose these KPIs.

2. Explore GitHub MarketPlace for more useful/interesting actions

3. Integrate my Docker images into Kubernetes

Listed [here](Limitations.md)

0 comments on commit ef47e87

Please sign in to comment.