This is the space for production code: tested Python libs, jobs and services.
- Python 3, Docker
Execute this command in the project root folder to build this project and the respective docker container:
python build.py
This script compiles the project, assembles the various JAR artifacts (executable service, client, sources) and builds a docker container with the assembled executable jar. For additional script options:
python build.py --help
To only compile the Java artifacts (for development):
mvn clean package
Execute this command in the project root folder to deploy all assembled Java artifacts to the configured maven repository and push all docker containers to the configured docker registry:
python build.py --deploy --version={MAJOR.MINOR.PATCH-TAG}
For deployment, the version has to be provided. The version format should follow the Semantic Versioning standard (MAJOR.MINOR.PATCH). For additional script options:
python build.py --help
docker login docker-repository
Our coding guideline for source code in the Java is based on the Google Java Style Guide. For any code-style related questions, please refer to the linked guide.
We also have predefined code formatting settings for IntelliJ which can be downloaded here (add .jar as extension as OneDrive doesn’t allow uploading jar files).
Our git branching for all repositories is based on the Git-Flow standard. Please go trough the linked introduction, and visit here and here for more information.
Our build versioning for all projects is based on the Semantic Versioning specification. For any versioning-related questions, please refer to the linked guide. In additon to the MAJOR.MINOR.PATCH format, a SNAPSHOT
tag will be attached to the version for all development builds (based on the Maven versioning standard). As define in Git-Flow, the build version is also used as tag for releases on the master branch.