• 38-Jenkins-Publish over SSH插件实现远程部署



    前言

    • 本篇来学习使用Publish over SSH插件实现远程部署

    安装插件

    • Manage Jenkins --> Manage Plugins --> 可选插件中搜索 Publish over SSH
      在这里插入图片描述

    插件配置

    • Manage Jenkins --> Configure System --> Publish over SSH

    Jenkins SSH Key

    在这里插入图片描述

    • Passphrase:如果私钥设置了密码就是私钥的密码,私钥没设置密码可以不填;也可填写目标主机密码
    • Path to key:key文件(私钥)的路径
    • Key:私钥的内容。如果此处填入了值,则以此处的值为准,会忽略掉Path to key的配置

    SSH Servers

    在这里插入图片描述

    • name:名称(可自定义)
    • Hostname:服务器地址
    • Username:服务器登录用户名
    • Remote Directory:远程服务器目录(要发布的服务器)
    • 点击Test Configuration 测试远程服务器是否正常连接

    使用插件

    在这里插入图片描述

    • Source files:选择打包后的文件,这里为*txt,因为是在工作目录下面,如果是别的地方要写绝对路径
    • Remove prefix:移除目录(只能指定Source files中的目录),意思是将绝对路径的前缀都去掉,只移动后面的产物文件
    • Remote directory :选择发送到哪个目录,这个是相对于SSH Servers中设置Remote Directory目录的相对目录。(默认/root)
    • Exec command :一般远程部署后,要执行的命令shell命令
    • Pipelin
    pipeline {
        agent any
    
        stages {
            stage('Hello') {
                steps {
                    script{
                    sh 'env'
                    sh 'echo Hello World > test.txt'
                    sh 'ls -R'
                    sh 'cat test.txt'
                    }
                }
            }
            stage('dep') {
                steps {
                    script{
                        // configName 需要替换成要发布的机器ip
                        sshPublisher(publishers: [sshPublisherDesc(configName: '远程机器ip', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'cd /root/test;echo Jenkins >> test.txt', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/root/test', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '*.txt')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
                    }
                }
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 查看发布结果
      在这里插入图片描述
  • 相关阅读:
    你写过的最蠢的代码是?——后端篇
    Kotlin面向对象
    美团面试——数据库开发岗
    智能音箱中采用的数字音频功放
    【脑机接口】POINT疗法或将为卒中后失语患者带来新希望!
    JAVA图书管理练习
    Python绘制3D曲面图
    Cards
    Linux之bash常用命令
    Ubuntu yolov5 环境配置
  • 原文地址:https://blog.csdn.net/IT_heima/article/details/126379938