Skip to content

eclipse-che/che-server

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

982193e · Jun 14, 2023
May 22, 2023
May 31, 2023
Feb 12, 2016
Jun 14, 2023
Jun 14, 2023
Jun 14, 2023
Jun 24, 2022
May 25, 2023
Apr 17, 2023
Jun 14, 2023
Jun 14, 2023
Jun 14, 2023
Jun 14, 2023
Aug 9, 2016
Apr 1, 2021
Aug 1, 2018
Feb 12, 2016
Apr 20, 2023
Apr 14, 2021
Mar 16, 2021
Jun 7, 2023
Feb 15, 2023
Jun 14, 2023

Repository files navigation

What is Che server

Che Server provides an API for managing Kubernetes namespaces, and to retrieve devfile content from repositories, hosted on GitHub, GitLab, Bitbucket, and Microsoft Azure Repos.

Project structure

Che Server is mostly a Java web application deployed on an Apache Tomcat server in a container. Che Server uses the following modules:

OAuth1 / OAuth2 API implementations

  • wsmaster/che-core-api-auth
  • wsmaster/che-core-api-azure-devops
  • wsmaster/che-core-api-bitbucket
  • wsmaster/che-core-api-github
  • wsmaster/che-core-api-gitlab

Factory flow implementations

  • wsmaster/che-core-api-factory-azure-devops
  • wsmaster/che-core-api-factory-bitbucket
  • wsmaster/che-core-api-factory-bitbucket-server
  • wsmaster/che-core-api-factory-github
  • wsmaster/che-core-api-factory-gitlab
  • wsmaster/che-core-api-factory-shared

Kubernetes namespace provisioning

  • infrastructures/kubernetes
  • infrastructure/openshift
  • infrastructures/infrastructure-factory

Other modules are deprecated and will be removed in the future.

Build requirements

  • Apache Maven 3.6.3 or later
  • JDK 11
  • Podman or Docker (required for running integration tests)

Sources build

Run mvn clean install to build. Activate a faster profile build by adding -Pfast.

Image build and push

  1. Go to the dockerfiles directory.
  2. Run ./build.sh.
  3. Tag the che-server image with your account: docker tag quay.io/eclipse/che-server:next <docker registry>/<your account>/che-server:next.
  4. Push the che-server image to your account: docker push <docker registry>/<your account>/che-server:next.

Debug

  1. Deploy Che to a Red Hat OpenShift or Minikube cluster by using a previously built image: chectl server:start --platform=<openshift / minikube> --cheimage=<docker registry>/<your account>/che-server:next.
  2. Enable local debugging of the Eclipse Che server: chectl server:debug.
  3. In your IDE, create a new Remote JVM Debug configuration on localhost:8000.
  4. Hit a breakpoint in the code and activate the debug configuration.

CI

There are several GitHub Actions workflows implemented for this repository:

  • build-next
    Builds Maven artifacts, builds container images and pushes them to quay.io on each commit to main branch.
  • Release Che Server
    Builds Maven artifacts and container images. Images are public and pushed to quay.io. See RELEASE.md for more information about this workflow.
  • Release Changelog
    Creates a GitHub release which will include a generated changelog.
  • Update Che docs variables
    Runs on each commit to main branch.
  • build-pr-check
    Builds Maven artifacts and container images. This workflow is used as a check for all pull requests that are submitted to this project.
  • Sonar
    Runs Sonar against the main branch. The result can be seen here.
  • Try in Web IDE
    Used as a check for pull requests that are submitted to this project.

Downstream builds can be found at the link below, which is internal to Red Hat. Stable builds can be found by replacing the 3.x with a specific version like 3.2.

License

Join the community

The Eclipse Che community is globally reachable through public chat rooms, mailing list and weekly calls. See the Eclipse Che Documentation about how you can join our community.

Report issues

Issues are tracked on the main Eclipse Che Repository: https://github.com/eclipse/che/issues