Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/uniqueck/a4ad

A4aD - ask for a Deployment
https://github.com/uniqueck/a4ad

architecture decision-tables hexagonal junit5 lfet liquibase springboot testcontainers thymeleaf

Last synced: 15 days ago
JSON representation

A4aD - ask for a Deployment

Awesome Lists containing this project

README

        

== A4aD - Ask for a Deployment
image:https://circleci.com/gh/uniqueck/a4ad/tree/master.svg?style=shield["CircleCI", link="https://circleci.com/gh/uniqueck/a4ad/tree/master"]
image:https://sonarcloud.io/api/project_badges/measure?project=uniqueck_a4ad&metric=sqale_rating["Maintainability Rating", link="https://sonarcloud.io/component_measures?id=uniqueck_a4ad&metric=Maintainability"]
image:https://sonarcloud.io/api/project_badges/measure?project=uniqueck_a4ad&metric=bugs["Bugs", link="https://sonarcloud.io/component_measures?id=uniqueck_a4ad&metric=bugs"]
image:https://sonarcloud.io/api/project_badges/measure?project=uniqueck_a4ad&metric=code_smells["Code Smells", link="https://sonarcloud.io/component_measures?id=uniqueck_a4ad&metric=code_smells"]
image:https://sonarcloud.io/api/project_badges/measure?project=uniqueck_a4ad&metric=coverage["Coverage", link="https://sonarcloud.io/component_measures?id=uniqueck_a4ad&metric=Coverage"]
image:https://sonarcloud.io/api/project_badges/measure?project=uniqueck_a4ad&metric=alert_status["Quality Gate", link="https://sonarcloud.io/dashboard?id=uniqueck_a4ad"]

=== Hintergrund

A4aD soll ein Beispielrepository sein, um Technologien zu verproben und eine mögliche Umsetzung der Hexagonale Architektur.
Die Umsetzung der Hexagonalen Architektur basiert auf dem Buch https://leanpub.com/get-your-hands-dirty-on-clean-architecture[Get Your Hands Dirty On Clean Architecture] von https://github.com/thombergs[Tom Hombergs].

=== Idee

A4aD soll eine Anwendung werden, womit Deployments von Java Anwendungen auf SSH Containern durchgeführt werden können.
Hierfür soll der Anwender einzelne Shell Befehle zu einem Deployment Job hinterlegen können, welche in einer bestimmten Reihenfolge ausgeführt werden sollen. Der Deployment Prozess soll mittels Flowable als ein Buisness Process ausgeführt werden. Der Fortschritt soll visualisiert werden, so dass der Anwender über eine UI den Zustand des Deployments nachvollziehen kann.
Jedes Deployment soll protokollisiert werden und über ein Rechtkonzept abgesichert werden, so dass nur bestimmte Rollen ein Deployment in eine gewisse Umgebung beauftragen können. Über eine REST API soll eine Integration für CI Server geschaffen werden und gleichzeitig der Anreiz für alternative UI Implementierungen geschaffen werden. Eine eigene UI wird auf Basis des Frameworks Thymeleaf implementiert.

=== genutzte Technologien

* Spring Boot
* Cucumber
* Thymeleaf
* TestContainers
* JUnit 5
* Asciidoc (arc42)
* Liquibase
* Selenium
* Flowable

=== Nützliche Links

* https://github.com/callicoder/spring-boot-file-upload-download-rest-api-example[File Upload via REST API]
* https://blog.codeleak.pl/2019/12/junit-5-and-selenium-improving-project.html[Selenium JUnit 5 Tests]
* https://rieckpil.de/spring-boot-functional-tests-with-selenium-and-testcontainers/[TestContaners and Selenium]