管道未移至下一阶段

时间:2019-08-16 11:17:00

标签: jenkins google-cloud-platform jenkins-pipeline google-cloud-sql

我正在尝试从jenkins节点内部通过代理连接到Google Cloud SQL。

我的Jenkinsfile如下所示。

第一阶段效果很好。我的代理已启动并正在运行,并正在监听传入的命令。

问题在于它永远不会进入下一阶段。所以我无法连接到数据库。

有人知道我该怎么做才能克服这个问题或其他更好的方法。

pipeline {
  agent any
  options {
    skipDefaultCheckout true
  }
  stages {
    stage('Install goole cloud sql proxy') {
      steps {
        dir(path: "${env.WORKSPACE}") {
          sh '''
                wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
                chmod +x cloud_sql_proxy
                ./cloud_sql_proxy -instances=INSTANCE_NAME=tcp:3306
             '''
        }
      }
    }
    stage('Connect to DB') {
      steps {
        dir(path: "${env.WORKSPACE}") {
          sh '''
                psql "host=127.0.0.1 port=3306 sslmode=disable dbname=postgres user=postgres"
            '''
        }
      }
    }
  }
}

1 个答案:

答案 0 :(得分:0)

我将评论从这里移开。

Jenkins只是阻塞了命令./cloud_sql_proxy -instances=INSTANCE_NAME=tcp:3306

您可以在命令末尾添加一个&,以在后台启动。