Skip to content
Snippets Groups Projects
30_How_does_it_work.md 1.63 KiB

Execution plan

If fully configured the deployment script executes the following steps in that fixed sequence:

  • loop over profiles ... and per profile ...
  • set profile data by sourcing [profile]/config.sh
  • download Software archive
  • detect if download is newer than the last one
  • jump into installation dir of your application
  • optional: execute pre installation tasks (1)
  • optional: run cleanup (1)
  • extract software archive (1)
  • create config files
  • optional: execute post installation tasks (1)
  • optional: execute post config change tasks (1) or (2)

(1) if a new software version was downloaded (2) if one of the config files was created or changed

Graphical view

graph TD
    START(START) --> Profile
    Profile(source profilename/config.sh) --> DL

    DL(Download software) --> IsNew
    IsNew{new download?}
    IsNew -->|no| new0(Update only flag=0)
    IsNew -->|yes| new1(new installation flag=1)


    new1 --> preInstall
    preInstall(optional: Pre install tasks) --> preCleanup
    preCleanup(optional: Cleanup files) --> extract
    extract(extract software archive) --> cont1
    
    new0 --> cont1

    cont1(( )) --> cfg
    cfg(Create config files) --> DoPostInstall{new download?}
    DoPostInstall --> |yes| PostInstall
    DoPostInstall --> |no| cont2
    PostInstall(Run post install script) --> cont2

    cont2(( )) --> DoPostChange{Changed config?}
    DoPostChange --> |yes| PostConfig
    DoPostChange --> |no| cont3
    PostConfig(Run post change script) --> cont3

    cont3(( )) --> anotherProfile{Another profile?}
    anotherProfile --> |yes|Profile
    anotherProfile -->|no|END

    END(END)