jenkins - 管道未进入下一阶段
问题描述
我正在尝试从 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"
'''
}
}
}
}
}
解决方案
我将我的答案从这里的评论中移开。
詹金斯只是在阻止命令./cloud_sql_proxy -instances=INSTANCE_NAME=tcp:3306
您可以&
在命令末尾添加一个以在后台启动。
推荐阅读
- qt - KStatusNotifierItem 实例化使 Qt 崩溃
- javascript - 如果 Service Worker 要求 html 与 servive_worker.js 位于同一文件夹中,我该如何使用 EJS(需要 Views 文件夹)?
- azure - 使用 shell 脚本从 azure 文件存储中列出 10 天前的文件
- c - 编写一个函数,显示三个不同数字的所有不同组合
- java - Java HTTP 请求的标头转义/编码
- python - 最小生成树问题
- google-apps-script - RangecopyFormat(仅限)使用谷歌脚本从一个电子表格到另一个电子表格
- r - 替换列表元素中的值
- reactjs - 使用 Jasmine 对已导入 SVG 的 Typescript/React 进行单元测试
- c# - 查看函数执行时间的最佳方法