title | author | date |
---|---|---|
Experiment to learn dockerization |
RORO |
2020-05-26 |
Starting from a plain hello world App, we want to learn what needs to be done for creating and running a multi-container "app".
=> Journey from Dev to DevOps with Containers
Goal: Learn how to work with containers, as a base for decision making, when planning for a microservice architecture.
C#, dotnet core , docker, shell scripts, nuget
- blank workspace
- multiple console apps running in seperate docker containers
- use each of those processes from a batch file to fulfill a busines-case
- Add two numbers:
- Input two numbers via console
- Get added numbers printed on console
[X] Create standalone Console app
dotnet new console -n HelloWorld -o ./src
[X] Implement Business Use-Case
[X] Add Testing
dotnet new mstest --name AddTwoNumbersTests -o ./src-test
[X] working Business Use-Case
[X] Separate Business-Tasks on function level
- separated execution in Main from functionality => separate classes
- changed high-level interfaces to string[], as this will be what is used when piping on console
[X] Separate Business-Tasks on project level
- moved bl to class-libs
dotnet new classlib -n <LibName> -o ./src/<LibName>
- added build scripts (cmdline)
- to be called from project root
[X] Separate Business-Tasks on executable level
[X] Use executables via batch file on same machine
[X] Working Business Use-Case spanning multiple-executables
[X] Separate Business-Tasks on container level
./scripts/dockerize.bat
[X] Use containers from batch file (without orch.)
./usecase.bat
[ ] Impl container orchestration
[ ] Use containers from batch file (with orch.)
[ ] Working Business Use-Case spanning multiple containers with simple service startup
[ ] dockerize builds for CI