Jenkins 与主机服务器进行通信

在使用 Jenkins 进行项目持续集成时,若需更新服务器代码,Jenkins 与代码服务器的通信很重要。可使用 Publish over SSH 插件实现此功能,配置时需填写正确私钥,设置 ssh services 端相关信息,配置完成后可在 Jenkins Build 时操作主机服务器。

在利用 Jenkins 对项目进行持续集成时,很多时候项目服务器并不在我们手中,当我们更新代码的同时也需要去更新服务器的代码,这时 Jenkins 和 代码服务器的通信就尤为重要.
我们可以使用 Publish over SSH 这个 jenkins 插件帮助我们实现这个功能.
在这里插入图片描述
关于配置
这里只需要填写正确的 私钥.
在这里插入图片描述
ssh services 端
在这里插入图片描述

  • Name 可以随便填写
  • Hostname 主机地址
  • Username 主机服务器的用户(因为我自己的 jenkins 和 代码都在同一台服务器上,所以这里就没有再新建用户了,用的都是 root 用户)
  • Remote Directory 主机服务器可操作目录
    如果你利用 Jenkins 操作了不在这个 Remote Directory 这个目录下的其他目录, 会出现没有权限的错误,也就是这个错误提示:
    在这里插入图片描述
    配置完成后你就可以在 jenkins Build 的时候操作主机服务器了.
    类似这样:
    在这里插入图片描述
    以上,配置完成.
### Jenkins 设置远程服务器的 SSH 连接配置 #### 准备工作 为了使 Jenkins 能够通过 SSH 正常连接至远程服务器,需先完成以下准备工作: - **生成 SSH 密钥对**:在 Jenkins 所处的服务器 A 上生成一对新的 SSH 秘钥[^1]。 ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` - **分发公钥**:将上述命令生成的 `.pub` 文件中的内容复制到目标服务器 B 用户家目录下的 `~/.ssh/authorized_keys` 文件内。 #### 插件安装 确保已安装了支持 SSH 功能的相关插件,如 “Publish Over SSH” 或者其他能够提供相似功能的替代品。这可以通过访问 Jenkins 的管理界面,在“Manage Plugins”的页面里找到并安装所需的插件来实现[^2]。 #### 配置 SSH Server 前往 Jenkins 主页 -> 系统设置 -> Publish over SSH 来新增一台远程主机的信息,具体参数包括但不限于名称、IP 地址或域名以及端口号等基本信息,并上传之前准备好的私钥文件用于身份验证过程[^3]。 - 测试连通性:保存更改之后记得点击界面上提供的测试按钮以确认一切正常运作,如果遇到任何错误提示,则应按照报错信息进一步排查问题所在直至解决为止。 #### 实际案例分析 当尝试建立从 Jenkins (位于服务器 A) 到另一台物理机(即服务器 B)之间的安全通道时遇到了困难——尽管已经完成了基本的网络层面互通性权限授予操作,但在实际发起请求的时候仍然收到了拒绝访问的通知。经过仔细检查发现原来是由于缺少必要的授权步骤造成的:即忘记把本地产生的 RSA 公钥追加到了远端用户的认证列表当中去。修正这个问题的方法很简单,只需要手动编辑或者借助工具自动更新对应位置上的数据即可恢复正常的通信链路[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值