大家好,我是你们的老朋友,一个每天和服务器“打架”的测评博主。今天咱们来聊一个既实用又带点“魔法”的话题——Jenkins能不能远程操控服务器?
(小声BB:当然能!不然我写干嘛?但重点是怎么玩得溜!)
Jenkins作为自动化界的“瑞士军刀”,远程操控服务器简直是基本功。它主要靠两种方式实现:
1. SSH直接怼(简单粗暴版)
- 场景:比如你想让Jenkins在隔壁的Linux服务器上部署代码。
- 操作:安装`Publish Over SSH`插件,配置服务器的IP、用户名、密码(或密钥)。
- 举例:
```bash
ssh user@remote-server "cd /opt/app && git pull && npm install"
```
- 吐槽:这就像你让邻居帮你喂猫,但得先给他你家钥匙(密钥)。安全?自己掂量!
2. Agent模式(优雅分布式版)
- 场景:服务器太多,Jenkins主节点忙成狗?用Agent分担压力!
- 操作:在目标服务器装个`Jenkins Agent`,通过JNLP或SSH连接主节点。
java -jar agent.jar -jnlpUrl http://jenkins-server:8080/computer/agent-name/slave-agent.jnlp
- 比喻:主节点是老板,Agent是打工仔。老板动嘴(发任务),打工仔跑腿(执行)。
(假设你有一台远程服务器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把你服务器变成矿机)
如果觉得装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
随着互联网的普及和信息技术的飞速发展台湾vps云服务器邮件,电子邮件已经成为企业和个人日常沟通的重要工具。然而,传统的邮件服务在安全性、稳定性和可扩展性方面存在一定的局限性。为台湾vps云服务器邮件了满足用户对高效、安全、稳定的邮件服务的需求,台湾VPS云服务器邮件服务应运而生。本文将对台湾VPS云服务器邮件服务进行详细介绍,分析其优势和应用案例,并为用户提供如何选择合适的台湾VPS云服务器邮件服务的参考建议。
工作时间:8:00-18:00
电子邮件
1968656499@qq.com
扫码二维码
获取最新动态