首页 > 解决方案 > 管道未进入下一阶段

问题描述

我正在尝试从 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"
            '''
        }
      }
    }
  }
}

标签: jenkinsgoogle-cloud-platformjenkins-pipelinegoogle-cloud-sql

解决方案


我将我的答案从这里的评论中移开。

詹金斯只是在阻止命令./cloud_sql_proxy -instances=INSTANCE_NAME=tcp:3306

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


推荐阅读