This is a Telestion Project based on the Telestion Project Template.
To run the application on your production system, you need docker and docker-compose installed and ready-to-go.
Go to the latest release of the project and download the application archive named telestion-project-workshop-vX.X.X.zip
.
Extract it on your production system and go into the folder which contains the docker-compose.yml
.
Start the application with the following command:
docker-compose up -d
This downloads and starts the required components to run Telestion.
If you want to stop Telestion, call:
docker-compose down
Client builds are also available via the latest release of the project.
OS coverage depends on the used Client system.
To build the projects from source, please take a look into the part specific descriptions:
When you use Conventional Commits during development, automation tools can release a new version based on [Semantic Versioning] and automatically create changelogs based on the commit messages.
For more information, take a look at the release tutorial on our developer documentation.
The release
action creates and updates a pull request that tracks the changes to the next release. Once you're happy with your result, merge this branch. This triggers the release pipeline which creates a new release archive and publishes the code to the GitHub Container Registry.
If you're not hosting your code on GitHub, we provide some convenience scripts to release a new version.
First, bump your project version.
Update the project version in the version.txt file which resides in the project root.
Next, open the console and commit the version bump:
git add version.txt
git commit -m "chore(main): release $(<version.txt)"
git tag -a "v$(<version.txt)" -m "release $(<version.txt)"
git push --follow-tags
Attention: The deployment scripts and tools require that you use the Semantic Versioning release style in your project.
Now, build the Application.
Open your IDE and select the assembleDist task in the distribution section of Gradle. Or run the Gradle task in your console:
cd application
JAVA_HOME="<path-to-jdk16>" ./gradlew assembleDist
cd ..
```cd application
JAVA_HOME="<path-to-jdk16>" ./gradlew assembleDist
cd ..
To build, tag and publish the docker containers, call the following script:
```shell
./scripts/push-docker-images.sh
To create a setup archive, call the following script:
./scripts/create-setup.sh
Both scripts depend on the version number in the version.txt
file.
The overall file structure of this monorepo looks like this:
.
├── .github
│ ├── workflows (CI configuration)
│ └── dependabot.yml (Dependabot config)
├── application
| ├── conf (the verticle configuration for the Application)
| ├── src (the source files of the Telestion Application)
| ├── Dockerfile (the definition to successfully build a Docker image from the compiled Application sources)
| ├── build.gradle (manages dependencies and the build process via Gradle)
| ├── gradle.properties (contains the required tokens to access required dependencies)
| ├── gradlew (the current gradle executable for UNIX-based systems)
| └── gradlew.bat (the current gradle executable for Windows systems)
├── client
| ├── public (template webpage folder where React will engage)
| ├── src (the source files of the Telestion Client)
| └── package.json (manages dependencies and the build process via npm)
├── CHANGELOG.md (DON'T TOUCH! Automatically generated Changelog)
├── README.md (you're here :P)
├── project.json (contains the current project information like the current version etc.)
└── telestion-application (DON'T TOUCH! Used as an indicator for our automation tools)
The Application and the Client folders contain their own README.md
that describe the different parts more specific.
For the documentation on contributing to this repository, please take look at the Contributing Guidelines and the official Telestion Developer Documentation.
Running Telestion, a project by WüSpace e.V..