Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/uniqueck/a4ad
- Owner: uniqueck
- License: apache-2.0
- Created: 2019-07-13T23:33:25.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-04-26T20:15:07.000Z (over 3 years ago)
- Last Synced: 2023-03-03T23:25:18.465Z (over 1 year ago)
- Topics: architecture, decision-tables, hexagonal, junit5, lfet, liquibase, springboot, testcontainers, thymeleaf
- Language: Java
- Size: 11.3 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.adoc
- License: LICENSE
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]