-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
9a136c4
commit 0e11d25
Showing
1 changed file
with
22 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,27 @@ | ||
# CI Pipeline for Building and Testing a Monolithic application | ||
|
||
Build solution and all test projects in parallel | ||
publish pipeline artifacts to be used for test jobs | ||
Run all testes in parallel | ||
When working with a monolithic application there can be a lot of projects and test projects that all need to be built and tested. | ||
When working with a large team where engineers are pushing changes regularly and code is merge continuously its important that the | ||
ci pipeline gives the engineers fast feedback and new code is tested as fast as possible before an engineer can merge changes. | ||
|
||
|
||
## Overview: | ||
1. Build solution, test projects and web assets in separate jobs in parallel | ||
2. Publish pipeline artifacts to be used for test jobs | ||
3. Run all tests in separate jobs in parallel | ||
4. TODO: build and push docker files to docker | ||
|
||
## We want to go fast! parallel everything! | ||
|
||
We build test projects in parallel using project pattern. \ | ||
For example: below we build all unit test projects together. | ||
|
||
![image](https://github.com/ianoflynnautomation/eshoponweb-github-actions-cicd/assets/68143624/4397bdde-94bb-4855-8705-2a5fd620b980) | ||
|
||
We do this for unit, integration and functional test projects. Depending on the number of agents you have, this can be set to allow maximum number of agents to be in use to run jobs. / | ||
In this example as github gives you 6 free agents we build tests by test type. | ||
|
||
![image](https://github.com/ianoflynnautomation/eshoponweb-github-actions-cicd/assets/68143624/602108f0-5aaa-4e13-8983-f977e00976b5) | ||
|
||
We do the same for running tests. | ||
|