Every application specification and implementation process needs to be managed in an individual repository on github.com/openBackhaul.
All individual repositories will be generated from a common template.
The initial ApplicationRepository contains e.g. the following artifacts:
- Initial versions of the components of the specification as there are e.g. ServiceList, ForwardingList, OpenAPI Specification and TestCases
- main and develop branch (develop branch being configured as default branch)
- A set of Issues that guides the ApplicationOwner through the process of specifying the Application
As a matter of first individualization, ...
- ... the ApplicationRepository gets renamed towards the ApplicationName, so it can be properly referenced by local Git installations
- ... the ApplicationOwner is configured to be Contributor on the individual ApplicationRepository, so he can create the branches, which are necessary for driving the specification.
During the specification and implementation process, the individual ApplicationRepository will serve as a joint between several repositories.
It contains a subtree, which is referencing the implementation of the basic components in the ApplicationPattern repository. The contained code will be forked together with the specification by the ApplicationImplementer after being assigned.
Likewise, the ApplicationImplementer will request for merging his code into the ApplicationRepository, from where it will be cloned by our private Jenkin server, which is automating acceptance and integration testing in our laboratory environment.
For smooth walkthrough of the process, it is vital that ...
- ... the ApplicationOwner keeps the rules defined in the Workflow for Contributing, respectively the GitFlow
- ... and does not change folder structure of the repository or filenames of the components of the specification.