首页 / 韩国VPS推荐 / 正文
Jenkins可以远程服务器吗?5分钟搞懂远程部署的骚操作!

Time:2025年06月25日 Read:10 评论:0 作者:y21dr45

大家好,我是你们的老朋友,一个每天和服务器“打架”的测评博主。今天咱们来聊一个既实用又带点“魔法”的话题——Jenkins能不能远程操控服务器

Jenkins可以远程服务器吗?5分钟搞懂远程部署的骚操作!

(小声BB:当然能!不然我写干嘛?但重点是怎么玩得溜!)

一、Jenkins的远程技能:SSH和Agent双修

Jenkins作为自动化界的“瑞士军刀”,远程操控服务器简直是基本功。它主要靠两种方式实现:

1. SSH直接怼(简单粗暴版)

- 场景:比如你想让Jenkins在隔壁的Linux服务器上部署代码。

- 操作:安装`Publish Over SSH`插件,配置服务器的IP、用户名、密码(或密钥)。

- 举例:

```bash

Jenkins任务里直接写SSH命令

ssh user@remote-server "cd /opt/app && git pull && npm install"

```

- 吐槽:这就像你让邻居帮你喂猫,但得先给他你家钥匙(密钥)。安全?自己掂量!

2. Agent模式(优雅分布式版)

- 场景:服务器太多,Jenkins主节点忙成狗?用Agent分担压力!

- 操作:在目标服务器装个`Jenkins Agent`,通过JNLP或SSH连接主节点。

在Agent机器上启动服务

java -jar agent.jar -jnlpUrl http://jenkins-server:8080/computer/agent-name/slave-agent.jnlp

- 比喻:主节点是老板,Agent是打工仔。老板动嘴(发任务),打工仔跑腿(执行)。

二、实战演示:用SSH插件远程部署一个Spring Boot应用

(假设你有一台远程服务器IP是`192.168.1.100`,用户名`devops`)

1. Jenkins配置SSH

- 路径:`系统管理 > 系统配置 > Publish over SSH`

- 填坑指南:

- `Passphrase`:如果密钥有密码就填,没有就空着。

- `Path to key`:私钥路径,比如`/home/devops/.ssh/id_rsa`。

2. 写个Pipeline脚本

```groovy

pipeline {

agent any

stages {

stage('Deploy') {

steps {

sshPublisher(

publishers: [

sshPublisherDesc(

configName: 'remote-server', // 你刚配的SSH名称

transfers: [

sshTransfer(

sourceFiles: 'target/*.jar',

removePrefix: 'target',

remoteDirectory: '/opt/app',

execCommand: 'cd /opt/app && java -jar *.jar'

)

]

)

]

)

}

}

}

}

```

3. 效果

点一下构建,代码自动打包→传送到远程服务器→启动应用。全程不用手动登录服务器!

三、远程操作的坑与避雷指南

1. 权限问题

- 错误日志:`Permission denied (publickey)`

- 解决方案:检查远程服务器的`.ssh/authorized_keys`文件,确保Jenkins主机的公钥在里面。

2. 网络防火墙

- 错误现象:连不上Agent?可能是防火墙拦了JNLP端口(默认50000)。

- 骚操作:用反向代理或者内网穿透(比如frp)。

3. 安全性警告

- 别用root账号!开个专用账户,权限给到最小化。否则……(想象黑客通过Jenkins把你服务器变成矿机)

四、进阶玩法:用Docker Agent实现“万物皆可部署”

如果觉得装Agent麻烦?试试Docker版Agent!

```groovy

pipeline {

agent {

docker {

image 'maven:3-jdk-11'

args '-v /tmp:/tmp' // 挂载目录

label 'remote-docker-host' // 指定运行在哪台服务器

}

}

stages {

stage('Build') {

steps {

sh 'mvn package'

}

}

```

效果:任务会自动在远程服务器的Docker容器里执行,干净又卫生!(容器用完即删)

五、

- Jenkins当然能远程服务器!SSH适合轻量级操作,Agent适合分布式集群。

- 安全第一!密钥比密码强,最小权限比root香。

- 遇到坑别慌:“权限+网络+日志”三板斧能解决90%问题。

最后送大家一句运维真理:“自动化一时爽,一直自动化一直爽——直到脚本出Bug。

(想看我测哪款服务器或工具?评论区留言!下次可能翻牌你的需求哦~)

TAG:jenkins可以远程服务器吗,jenkins远程访问,jenkins远程调用ssh脚本命令,jenkins 远程发布到docker

标签:
排行榜
关于我们
「好主机」服务器测评网专注于为用户提供专业、真实的服务器评测与高性价比推荐。我们通过硬核性能测试、稳定性追踪及用户真实评价,帮助企业和个人用户快速找到最适合的服务器解决方案。无论是云服务器、物理服务器还是企业级服务器,好主机都是您值得信赖的选购指南!
快捷菜单1
服务器测评
VPS测评
VPS测评
服务器资讯
服务器资讯
扫码关注
鲁ICP备2022041413号-1