如何将管道从Jenkins连接到另一个地址

7tofc5zh  于 2023-01-20  发布在  Jenkins
关注(0)|答案(2)|浏览(149)

我得到了一个任务,在Jenkins上创建一个管道,在另一个工作区上对Docker进行pull和up -d合成,另一台服务器。Jenkins在172.16.0.x上,我必须在另一台服务器172.16.0.x上运行此管道。我听说了一些关于更改POST的标题“-URL”的内容。你能告诉我在哪里可以更改它或如何解决这个问题吗?我“我正在寻找,但找不到任何东西。:(我的管道:pipeline { agent any stages{ stage('Update_docker'){ steps{ bat "docker-compose pull" bat "docker-compose up -d" } } } }
当我在本地主机上运行pinepline时,一切都很顺利。

baubqpgj

baubqpgj1#

要在另一台服务器上执行命令,首先需要连接到该服务器。例如,可以通过SSH连接到远程计算机并在那里执行命令。为此,可以使用类似SSH Step的命令。

def remote = [:]
    remote.name = 'test'
    remote.host = 'test.domain.com'
    remote.user = 'root'
    remote.password = 'password'
    remote.allowAnyHosts = true
    stage('Remote SSH') {
      sshCommand remote: remote, command: "docker-compose up -d"
    }

另一种方法是将远程服务器添加为Jenkins代理,然后在远程代理上执行命令。为此,您可以更改代理指令pipeline { agent {label: "server2" ......

fkvaft9z

fkvaft9z2#

pipeline {
    agent any
    stages{
    stage('Update_docker'){
                step{
                    def remote = [:]
                    remote.name = 'server2'
                    remote.host = '172.16.x.x:9001'
                    remote.user = 'ci'
                    remote.password = 'xxxxxxx'
                    remote.allowAnyHosts = true
                    stage('Remote SSH') {
                    sshCommand remote: remote, command: "docker-compose up -d"
                     }
                    }
        }
    }

相关问题