Skip to content

Building Module Artifacts

The following process will be executed, when pushing to GitLab:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@startuml

actor Developer

Developer --> GitLab: Push

activate GitLab
GitLab --> GitLab: Build, Test
alt Build Failure
    GitLab --> Developer: Feedback
    destroy GitLab
else Build OK
    GitLab --> Sonar: Push Code to Analyse
    activate Sonar
    alt Sonar OK
        Sonar --> GitLab: Goals not violated
        deactivate Sonar
    else Sonar Goal Violation
        Sonar --> GitLab: Goal Violation
        Sonar --> Developer: Feedback
        destroy GitLab
    end
    GitLab --> Artifactory: Deploy Artifacts
    deactivate GitLab
end
@enduml

Deploy Datacore with Modules

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
@startuml

[-> GitLab: Deployment with Config
GitLab --> Artifactory: Request artifacts
activate Artifactory
Artifactory --> GitLab: Return artifacts
deactivate Artifactory

activate GitLab
GitLab --> Host: Copy artifacs
GitLab --> Host: Start Datacore
deactivate GitLab

@enduml

Configuration Management

Every Datacore Module builds its own artefact. The Core module contains the Java Main Class, which can be executed. The rest of the module artefacts (Jar Files) must be put on the Java Classpath.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
@startuml

component core_module [
    Core Module
]

component real_estate_module [
    Real Estate Module
]

component gastro_module [
    Gastro Module
]

core_module --> [Core JAR]: Produces
real_estate_module --> [Real Estate JAR]: Produces
gastro_module --> [Gastro JAR]: Produces

@enduml

Version Management

//TODO