Workstations - Goland Plugins are not installed

Hey all.

I am following the guide outlined in docs to preconfigure and install plugins for my customized Goland image with following Dockerfile instructions:

 

# Install Bazel Goland plugin
RUN bash installer-scripts/plugin-installer.sh -v "2024.03.26.0.1-api-version-241" -d /opt/goland/plugins/ 8609
RUN bash installer-scripts/plugin-installer.sh -d /opt/goland/plugins/ 164
RUN bash installer-scripts/plugin-installer.sh -d /opt/goland/plugins/ 8079

 

After I launch my workstation none of the plugins specified above are installed, I have to manually install them, which beats the purpose of this feature.

Last step is taken straight from docs, but removes outdated version specification which doesn't exist anymore. 

 

2 2 115
2 REPLIES 2

Hi @rrosa,

Welcome to Google Cloud Community!

Your Goland plugins might not be installing automatically due to version mismatch, script permissions, script location or caching issues.

These might help you:

  1. Include -v flag with the latest version number for each plugin in your Dockerfile.
  2. Set executable permissions for installer-scripts/plugin-installer.sh using chmod +x.
  3. Double-check the path to the script relative to the Dockerfile.
  4. Invalidate Docker cache by adding --no-cache after docker build.

Hey @christianpaula ,

Thank you for your response!

I've tried all 4 steps you suggested and unfortunately none of them have helped, the only way I found to make sure that plugins are installed was to run the following script on startup:

# Pretty hacky way of installing plugins for GoLand, /home directory is overwritten when persistent disk is mounted
mkdir -p /home/user/.local/share/JetBrains/GoLand2024.1/
cp -R /opt/goland/custom_plugins/* /home/user/.local/share/JetBrains/GoLand2024.1/

Plugins are correctly pulled by the script, it has the execute permissions and Docker did download them, which is clear in the buildx output.

My way of creating a directory and copying files to it is very "hacky" and I would prefer if there was an official way that will be supported in the future.