Using IntelliJ Idea Ultimate Edition

Procedure
  1. Clone the che-editor-intellij-community repository, which is needed to build IntelliJ Idea Community Edition located under the che-incubator organization.

  2. Build IntelliJ Idea Ultimate Edition by calling the following command inside the repository folder:

    $ podman build -t idea-iu --build-arg PRODUCT_NAME=ideaIU .

    This command builds an image with a 2020.2.3 version by default.

  3. Tag and push the built image to a user repository:

    $ podman tag idea-iu:latest <username>/idea-iu:latest
    $ podman push <username>/idea-iu:latest
  4. Provision the activation code for offline use to be able to use WebStorm with a registered license. See section Provisioning JetBrains activation code for offline use.

  5. Create a workspace with the following workspace.yaml and meta.yaml files:

    • workspace.yaml – workspace configuration. Do not forget to provide a correct URL to the meta.yaml file:

      metadata:
        name: che-ideaiu
      components:
        - type: cheEditor
          reference: '<URL to the meta.yaml>'
          alias: ideaiu-editor
          automountWorkspaceSecrets: true
      apiVersion: 1.0.0
      In the current workspace definition, there is a new property: automountWorkspaceSecrets: true. This property instructs Eclipse Che to provision secrets into a specific component. In this case, it provisions it into the Che editor based on IntelliJ Idea Ultimate Edition. This parameter is mandatory to successfully register the IDE with an activation code for offline use.
    • meta.yaml – Che editor configuration. Do not forget to replace <username> with the user name of the repository to which the image is pushed:

      apiVersion: v2
      publisher: <username>
      name: ideaIU-NOVNC
      version: 2020.2.3
      type: Che Editor
      displayName:  IntelliJ IDEA Ultimate Edition
      title:  IntelliJ IDEA Ultimate Edition (in browser using noVNC) as editor for Eclipse Che
      description:  IntelliJ IDEA Ultimate Edition running on the Web with noVNC
      icon: https://resources.jetbrains.com/storage/products/intellij-idea/img/meta/intellij-idea_logo_300x300.png
      category: Editor
      repository: https://github.com/che-incubator/che-editor-intellij-community
      firstPublicationDate: "2020-10-27"
      spec:
        endpoints:
         -  name: "intellij"
            public: true
            targetPort: 8080
            attributes:
              protocol: http
              type: ide
              path: /vnc.html?resize=remote&autoconnect=true&reconnect=true
        containers:
         - name: ideaiu-novnc
           image: "<username>/idea-iu:latest"
           mountSources: true
           volumes:
               - mountPath: "/JetBrains/ideaIU"
                 name: ideaiu-configuration
           ports:
               - exposedPort: 8080
           memoryLimit: "2048M"