You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Jenkins实现压缩包格式源码的远程服务器部署

Jenkins 压缩包源码远程部署操作方案

前置配置:先确保SSH远程连接配置正确

你已经安装的SSH相关插件已满足需求,首先完成服务端配置:

  • 打开Jenkins后台,依次进入Manage Jenkins→Configure System,找到「Publish over SSH」配置区块
  • 点击「Add」新增远程服务器配置:
    • 自定义Name方便识别,比如web_prod_server
    • Hostname填远程服务器的可访问IP
    • Username填远程服务器的登录用户名(建议使用专门的部署用户,避免直接用root)
    • 按需选择密码或SSH密钥作为认证方式,填写对应认证信息
    • 点击「Test Configuration」测试连通性,提示Success后再保存配置,连通失败先排查服务器防火墙、端口、认证信息是否正确

任务部署步骤配置

先确保你的Jenkins任务构建完成后,已生成待部署的源码压缩包(比如命名为source_code.tar.gz),再按以下配置:

  • 进入对应任务的配置页,找到「构建后操作」模块,选择「Send build artifacts over SSH」
  • SSH Server选择你刚才配置好的远程服务器实例
  • 「Source files」填写待上传的压缩包相对路径,如果压缩包在任务工作区根目录直接填source_code.tar.gz即可
  • 「Remove prefix」按需填写需要去掉的路径前缀,比如压缩包存放在工作区的build目录下,此处填build即可
  • 「Remote directory」填写压缩包上传到远程服务器的存放目录,建议用临时目录比如/tmp/deploy_cache,确保登录用户对该目录有读写权限
  • 「Exec command」栏粘贴以下自定义脚本,替换为你自己的实际路径后即可:
#!/bin/bash
# 替换为你实际的线上代码部署目录
OLD_CODE_DIR="/var/www/html"
# 替换为压缩包上传到远程服务器的完整路径,和上面的Remote directory配置对应
COMPRESSED_FILE="/tmp/deploy_cache/source_code.tar.gz"

# 删除旧代码
rm -rf ${OLD_CODE_DIR}/*
# 解压新源码到部署目录
tar -zxf ${COMPRESSED_FILE} -C ${OLD_CODE_DIR}
# 删除服务器上的临时压缩包
rm -f ${COMPRESSED_FILE}
# 重启Apache,CentOS/RHEL用以下命令
systemctl restart httpd
# Debian/Ubuntu系统替换为下面这条
# systemctl restart apache2

注意事项&问题排查

  • 插件无法正常工作优先排查两个核心问题:一是SSH服务器连通性是否测试通过,二是远程命令的路径、权限是否符合你的服务器实际情况
  • 所有路径请先和自己的环境核对后再运行,避免直接复制导致误操作
  • 可以先在Exec command中写pwd && ls测试远程命令执行能力,排除权限问题
  • 重启Apache提示权限不足的话,可在远程服务器/etc/sudoers文件中添加一行部署用户名 ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart httpd,然后在脚本的重启命令前加sudo即可
  • 建议先在测试环境验证流程正常后再应用到生产环境

内容的提问来源于stack exchange,提问作者geek12

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 05:12:02