Google cloud platform 启动脚本问题-计算引擎

Google cloud platform 启动脚本问题-计算引擎,google-cloud-platform,google-compute-engine,Google Cloud Platform,Google Compute Engine,当GCP上的Ubuntu 16.04实例打开时,我需要运行一个jar文件。因此,我添加了一个自定义元数据: 但它不起作用 对于测试,我尝试在每次关闭和打开VM时生成文件,并且启动脚本成功地编译了这些文件 已编辑:如果我从shell运行此命令,它将成功运行并打开端口4444 此外,对于以下示例,启动脚本将忽略xvfb,但是 fuego_vins.txt和fuego_vins_exit.txt存放在/usr/bin: #! /bin/bash sudo touch /usr/bin/fuego_vi

当GCP上的Ubuntu 16.04实例打开时,我需要运行一个jar文件。因此,我添加了一个自定义元数据:

但它不起作用

对于测试,我尝试在每次关闭和打开VM时生成文件,并且启动脚本成功地编译了这些文件

已编辑:如果我从shell运行此命令,它将成功运行并打开端口4444

此外,对于以下示例,启动脚本将忽略xvfb,但是 fuego_vins.txt和fuego_vins_exit.txt存放在/usr/bin:

#! /bin/bash
sudo touch /usr/bin/fuego_vins.txt
sudo apt-get update
sudo xvfb-run -a java -Dwebdriver.chrome.driver=/usr/bin/chromedriver -jar selenium-server-standalone-3.13.0.jar -port 4444
sudo touch /usr/bin/fuego_vins_exit.txt
我使用以下方法对其进行了测试:

xvfb版本:xorg服务器1.18.4 selenium-server-standalone-3.9.1.jar 来自/usr/bin/selenium

-rwxr-xr-x 1 root  root 153 Nov 27 08:31 run   
-rwxr-xr-x 1 user  user 23428464 Feb  7  2018 selenium-server-standalone-3.9.1.jar
我在VM的/home/user文件夹中创建了脚本,然后从启动脚本运行它

启动脚本:

sudo apt-get update
sudo apt-get upgrade
sudo /usr/bin/selenium/run
例如,从串行端口1控制台输出:

Ubuntu 16.04.5 LTS instance ttyS0

instance-2 login: Nov 27 09:00:43 instance-2 startup-script: INFO startup-script: 2018-11-27 09:00:43.766:INFO::main: Logging initialized @2790ms to org.seleniumhq.jetty9.util.log.StdErrLog
Nov 27 09:00:44 instance-2 startup-script: INFO startup-script: 2018-11-27 09:00:44.100:INFO:osjs.Server:main: jetty-9.4.7.v20170914, build timestamp: 2017-11-21T21:27:37Z, git hash: 82b8fb23f757335bb3329d540ce37a2a2615f0a8
Nov 27 09:00:44 instance-2 startup-script: INFO startup-script: 2018-11-27 09:00:44.158:WARN:osjs.SecurityHandler:main: ServletContext@o.s.j.s.ServletContextHandler@45ca843{/,null,STARTING} has uncovered http methods for path: /
Nov 27 09:00:44 instance-2 startup-script: INFO startup-script: 2018-11-27 09:00:44.166:INFO:osjsh.ContextHandler:main: Started o.s.j.s.ServletContextHandler@45ca843{/,null,AVAILABLE}
Nov 27 09:00:44 instance-2 startup-script: INFO startup-script: 2018-11-27 09:00:44.230:INFO:osjs.AbstractConnector:main: Started ServerConnector@93c3e76{HTTP/1.1,[http/1.1]}{0.0.0.0:4444}
Nov 27 09:00:44 instance-2 startup-script: INFO startup-script: 2018-11-27 09:00:44.231:INFO:osjs.Server:main: Started @3256ms

我无法使用selenium-server-standalone-3.13.0.jar运行它;所以我稍后再试。希望对您有用。

您尝试过不使用sudo吗?是的。它仍然不起作用,我猜是这样的:当作为startup.script服务运行时,java环境变量、classlib等没有设置。在调用java之前,您需要手动设置它们。您可以在脚本中执行此操作。另外,xvfb运行-指定完整的路径名。3件事:1启动脚本以root运行,不需要sudo。2您的脚本显示端口4444,但您说您在shell中运行,并且444打开,这是一个输入错误还是您使用了错误的端口?3如果你能在启动期间提供串行端口的输出,我们应该能够看到启动脚本正在运行,并且从那里输出。这是一个路径和权限问题。谢谢@JohnHanley Patrick。现在,启动脚本运行,端口4444打开。