GoLand 2022.3 Help

Fully offline mode

Due to security regulations in your company the internet access could be restricted. However, the company can configure the air-gapped environment that would allow you to work with your remote project.

While the air-gapped environment is the best solution in such case, keep in mind that clients will need to be downloaded and saved locally. Moreover, they would need to be downloaded and saved again each time you want to use the new version of GoLand.

Set up the air-gapped environment

  1. Download and unpack the JetBrains Client Downloader.

    The version of JetBrains Client Downloader must be 1849 or later.

  2. On the server, which has the Internet access to JetBrains servers, run the script with filters of the product (IDE), version or build number, platform (of machines that are used by developers locally). Also, run --download-backends flag that downloads backends matching the given filters.

    Check the following example:

    /bin/bash jetbrains-clients-downloader --products-filter IU --build-filter 223.7255.1 --include-eap-builds --platforms-filter linux-x64 --download-backends Desktop/backends
    • --products-filter IU: this is GoLand Ultimate

    • --build-filter 223.7255.1: this is the latest EAP release number

    • --platforms-filter linux-x64: this is your local Linux laptop, so the Linux archives are downloaded

    • Desktop/backends: this is the target directory where you download clients archives

    If the filters are not used, then by default, everything gets downloaded. For the detailed syntax, run the following command:

    jetbrains-clients-downloader -h
  3. Run the script without the --download-backends flag.

    After downloading the backends, clients, and JBR, you can host it internally according your company's policies.

  4. Install or update the standalone JetBrains Gateway.

    The version of JetBrains Gateway must be 223.7571.203 or later.

  5. To configure JetBrains Gateway for air-gapped environment, create a separate file for each of the settings that describe what you have downloaded:

    • productsInfoUrl: a path to products.json that was generated by the backends downloader (it could be http://, https://, or file://)

    • clientDownloadUrl: a path for clients that you got from the clients' downloader (it could be http://, https://, or file://)

    • jreDownloadUrl: a path for JBR that you got from the clients' downloader (it could be http://, https://, or file://)

    • pgpPublicKeyUrl: an URL to the KEYS file that was downloaded with the clients builds.

    Check the following examples:

    • $ cat productInfoUrl

      file://Users/YourUsername/backends/<PRODUCT_CODE>/products.json

    • $ cat clientDownloadUrl

      https://internal.site/clients/

    • $ cat jreDownloadUrl

      https://internal.site/jre/

    • $ cat pgpPublicKeyUrl

      https://internal.site/KEYS

  6. Place the created files to the system location on the developers' local machines:

    • For the user-specific settings:

      /Users/UserName/Library/Application Support/JetBrains/JetBrainsClient/

    • For the system-wide settings:

      /Library/Application Support/JetBrains/JetBrainsClient/

    • For the user-specific settings:

      $HOME/.config/JetBrains/JetBrainsClient/

    • For the system-wide settings:

      /etc/xdg/JetBrains/JetBrainsClient/

    • For the user-specific settings:

      use the HKEY_CURRENT_USER registry

    • For the system-wide settings:

      use the HKEY_LOCAL_MACHINE registry

    In SOFTWARE\JetBrains\RemoteDev, create a string for each setting with its appropriate value.

Troubleshooting

If you encounter a problem, make sure you check the following:

  • Make sure you have downloaded the correct client for the IDE you are currently using.

  • When submitting JetBrains Gateway logs to the support, include the ones from the local machine.

  • Make a screenshot from the step where the files were configured.

Last modified: 12 December 2022