Skip to content

JByfordRew/ALMish

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ALMish

Dockerised Application Lifecycle Management

Continuous Integration and Delivery

Maintenance

Starting and Stopping

  • start.bat - docker compose up and opens browser tabs for you
  • stop.bat - docker compose down

Backup and Restore

  • backup.bat - stops CI and exports volumes to tar files to ./docker/ci/backup
  • restore.bat - stops CI and import tar files to volumes from ./docker/ci/backup

Git syncing

  • gitsync.bat - pulls and pushes git to origin on the gogs repo

tldr;

Continuous delivery by creating a clean architecture that can adapt to constant change and improvement. Continuous Integration using modern technology with an aim to keep build and deployment time to a minimum.

Technologies used include

Techniques used include

  • Clean Architecture, Uncle Bob Martin
  • DDD - Domain Driven Design, Eric Evans and Vaughn Vernon
  • CQRS - Command Query Responsibility Segregation, Greg Young
  • Actor Model - getakka.net
  • Event Sourcing - Single point of truth, Greg Young, Alberto Brandolini
  • Event Storming - Gathering domain knowledge, Vaughn Vernon
  • Microservices - delivering domain processes
  • .NET Core
  • .NET Standard
  • Angular - because it is common practice (would prefer Aurelia as best practice!)

Configuration

One prerequisite

The initial configuration performs the following

  • Generate SSH Keys to enable the git repo to be shared with the CI Server and agents
  • Docker compose to setup mailhog, gogs, teamcity server and agent
  • Add urls to hosts file and opens browser tabs to mailhog, gogs, and teamcity

There are some manual steps that need to be done to configure gogs and teamcity

  • Gogs - See ./setup/manualGogs.md
    • Create your repo to contain this git repo going forward
  • TeamCity - See ./setup/manualTeamCity.md

Finally continue the automatic configuration steps to push this repo to gogs

Notes

About

Dockerised Application Lifecycle Management

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published