WIP: Eclipse Che and Codenvy Integration
This is a tracking issue for making it possible to launch Eclipse Che containers (cloud IDE) attached to gitlab repositories, branches, and merge requests. A separate set of issues also allow the possibility for workspaces to be generated against a hosted Codenvy or private Codenvy Enterprise instance.
Auto-generate a Che workspace from a gitlab repository. There is a form on eclipse.org/che where you can reference a GitLab URL and a workspace is automatically generated from that repository. If there is no configuration in the repository, the workspace is created with a blank project type and a default runtime environment created from a stack. The repositories contents is cloned into the workspaces and credentials are set up.
Allow configuration of .codenvy.json or .codenvy.dockerfiles entries into GitLab repository. These configuration files define the stacks and workspace generation properties into the receiving system. Sample repository with this configuration. This example will create a workspace with a Java stack and Java intellisense activated when you provide the repo URL to any Codenvy install in the format of
http://codenvy-host/f?url=<gitlab-url>. For example:
Repository badging to indicate that the repository
Add .che configuration files, which will allow for open source Eclipse Che CLI so that a repo can be cloned, and then a workspace auto-generated from the repository contents. The Che CLI will headlessly launch a Che server in the background, if necessary, and then the workspace will be generated within that Che server, and the project's contents added as a project into the workspace. See Chefile definition.
Add ability to define a stack for a Gitlab repository as part of a merge request, issue, or branch. A stack in this case will be a workspace configuration, which is comprised of Dockerfiles, Chefiles, and Composefiles.
-[ ] Add ability to have Che containers launched through the Gitlab CI / scheduler system. Admins will want controls over how / when Che VMs are configured and launched.