Skip to content
This repository has been archived by the owner on Jan 17, 2023. It is now read-only.

wuespace/telestion-project-workshop

Repository files navigation

telestion-project-workshop

Running Telestion CI Application

This is a Telestion Project based on the Telestion Project Template.

Installation

The Application

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

The Client

Client builds are also available via the latest release of the project.

OS coverage depends on the used Client system.

Building

To build the projects from source, please take a look into the part specific descriptions:

Releasing

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.

Via GitHub

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.

Manually

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.

This repository

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.

Contributing

For the documentation on contributing to this repository, please take look at the Contributing Guidelines and the official Telestion Developer Documentation.

About

Running Telestion, a project by WüSpace e.V..

About

Telestion Project for the Telestion Workshop

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published