Jenkins CLI下载失败,出现500错误或503错误

时间:2019-11-23 18:18:00

标签: amazon-web-services shell jenkins amazon-ec2

我正在使用EC2实例来设置Jenkins。在EC2实例中,我引导了以下脚本以在我的EC2实例中下载Jenkins CLI。

sudo wget http://127.0.0.1:8080/jenkins/jnlpJars/jenkins-cli.jar

但是执行此命令时,出现以下错误

  

http://127.0.0.1:8080/jenkins/jnlpJars/jenkins-cli.jar正在连接至127.0.0.1:8080...。   HTTP请求已发送,正在等待响应... 503服务不可用   错误503:服务不可用。

我用Google搜索,发现可能是由于Jenkins正在引导,因此我在脚本中添加了以下代码以等待Jenkins启动。

 function jenkinsCreationWait () {
   echo "Jenkins Creation Wait"
   while ! test -f "/var/lib/jenkins/secrets/initialAdminPassword"; do
    sleep 5
    echo "Jenkins is booting, please wait..."
   done
   echo "End"
}

我在执行

之前放置了此代码
sudo wget http://127.0.0.1:8080/jenkins/jnlpJars/jenkins-cli.jar

在引导过程中收到错误后,我通过SSH进入EC2实例,并尝试执行上述命令,我收到了500

  

http://127.0.0.1:8080/jenkins/jnlpJars/jenkins-cli.jar   正在连接至127.0.0.1:8080 ...   HTTP请求已发送,正在等待响应... 500服务器错误   错误500:服务器错误。

尽管几个小时前工作正常。

1 个答案:

答案 0 :(得分:0)

我认为您正在使用用户数据。这是一个shell脚本,等待您获得200个代码

while [[ "$(curl --insecure -s -o /dev/null -w "%{http_code}" http://localhost:8080/jnlpJars/jenkins-cli.jar)" != "200" ]]; do sleep 15; done
wget http://127.0.0.1:8080/jenkins/jnlpJars/jenkins-cli.jar

参考wait for http 200