Jacobian
Jacobian

Reputation: 10862

Unable to run startup script when creating instance on Google Cloud Platform

I have a simple startup script which looks like so:

#!/usr/bin/env bash
sudo apt update
sudo apt install -y ruby-full ruby-bundler build-essential

And create VM instance on GCP like so:

$ gcloud compute instances create test-app --boot-disk-size=10GB --image-family ubuntu-1604-lts --image-project=ubuntu-os-cloud --machine-type=g1-small --zone europe-west1-b --tags test-server --restart-on-failure --metadata-from-file startup-script=startup.sh

My startup.sh is executable. I set its rights like so:

$ chmod +x startup.sh

When however I enter the shell of my newly created instance and check bundler:

test-app:~$ bundle -v

I get these messages:

The program 'bundle' is currently not installed...

So, what is wrong with that and how can I fix it? PS. If I run all my commands just from inside the instance shell, it's all ok, so there is some problem with using startup script on GCP.

Upvotes: 0

Views: 773

Answers (1)

N Singh
N Singh

Reputation: 327

I tested with your use case, But the bundle package was installed without making any changes.

Output: bundle -v Bundler version 1.11.2

You can check VM serial console log output to verify if start-up script ran. Check the VM instance to verify if the package is installed using the commands below:

sudo apt list --installed | grep -i bundle
sudo egrep bundle /var/log/dpkg.log

In addition, check the gem list bundle

Upvotes: 1

Related Questions