This is a very simple example that illustrates some core tenants of continuous integration with microservices built in dotnet core.
-
Inspect the .github/workflows/ci.yml file.
-
By default, GitHub invokes this action on the events that are listened to, defined in this file. We are listening to:
- "push" events on the master branch.
- "pull_request" events that are in the "opened, edited, synchronize, and reopened" states.
-
The yml job "ci" runs on latest ubuntu and has three steps:
- Sets up the dotnet core runtime on the linux host
- Sets up the nuget client on the linux host
- Runs a script (which is present in the repo), called ci.sh. It will pass some environment variables to this script which will be used to derive information necessary to completing all of the continuous integration steps.
-
Finally, all of the actual step of continuous integration are performed inside the ci.sh bash script:
- build
- test
- quality analysis
- package
- push to github packages