尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Jenkins实现通过ssh使用账号和密码连接远程服务器并且再服务器上执行命令

Jenkins实现通过ssh使用账号和密码连接远程服务器并且再服务器上执行命令 1. 前置条件安装插件确保 Jenkins 已安装 ‌Publish Over SSH‌, SSH Server‌插件。进入 ‌Manage Jenkins‌ - ‌Plugins‌(插件管理) - ‌Available plugins‌。搜索 Publish Over SSH 并安装。如果已安装请确保其为最新版本。搜索 SSH Server‌ 并安装。如果已安装请确保其为最新版本。2. 配置全局 SSH 服务器信息这是最关键的一步需要在全局系统设置中添加远程服务器的连接信息。1.‌进入系统配置页面‌点击左侧菜单的 ‌Manage Jenkins‌管理 Jenkins。选择 ‌System‌系统配置。(注意不是“Global Tool Configuration”SSH 服务器配置通常在 System 页面底部)2.找到 Publish over SSH 部分‌向下滚动页面直到找到 ‌Publish over SSH‌ 区域。3.添加 SSH Server‌点击 ‌Add‌ 按钮或 “新增”选择 ‌SSH Server‌。填写以下基本信息‌ Name‌: 给服务器起一个易于识别的名字例如 Prod-Server-01。‌ Hostname‌: 远程服务器的 IP 地址或域名。‌ Username‌: 远程服务器的登录用户名例如 root 。‌ Remote Directory‌: 远程服务器上的默认根目录通常填 / 或用户家目录后续任务中可使用绝对路径覆盖此设置。4.‌配置密码认证核心步骤‌点击该 SSH Server 配置下面的 ‌Advanced...‌高级按钮展开更多选项。‌ 勾选‌ Use password authentication, or use a different key使用密码认证或使用不同的密钥。在出现的 ‌Passphrase / Password‌ 输入框或者右侧点击修改密码填入远程服务器对应用户的‌登录密码‌。‌ Port‌: 确认 SSH 端口默认为 22。‌ Timeout (ms)‌: 连接超时时间默认 300000 (5分钟)可根据网络情况调整。5.‌测试连接‌配置完成后点击该配置块底部的 ‌Test Configuration‌ 按钮。如果显示 ‌Success‌说明密码和连接配置正确。如果失败请检查密码是否正确、防火墙是否放行端口、以及远程服务器是否允许密码登录检查 /etc/ssh/sshd_config 中的 PasswordAuthentication yes。6.保存配置‌点击页面底部的 ‌Save‌ 或 ‌Apply(应用)‌ 保存全局配置。3. 在任务新建Item中使用配置配置好全局信息后可以在具体的构建任务中调用。1.创建或配置任务‌进入一个 Freestyle Project自由风格项目的配置页面。2.添加构建步骤‌找到 ‌Build Steps‌构建步骤部分。点击 ‌Add build step‌增加构建步骤选择 ‌Send files or execute commands over SSH‌。3.选择服务器‌在 ‌SSH Server下Name的下拉菜单中选择刚才在系统配置中命名的服务器如 Prod-Server-01。4.‌执行命令‌1.上传文件Source files 输入要上传到远程服务器上的文件再jenkins工作空间系统配置中主目录查看的地址/workspace/jenkins项目名中的地址中的地址Remove prefix 移除前缀Remote directory 远程服务器存放的目录地址例如 要上传系统配置中主目录查看的地址/workspace/jenkins项目名/SendFiles/text.txt 这个文件到服务器的root目录下Source files 输入SendFiles/text.txtRemove prefix 输入SendFilesRemote directory 输入 / # 注意这里需要看SSH Server中Remote Directory‌配置的目录/root/防止重复目录所以这里就不需要再配置root了2.直接使用命令执行‌ Exec command‌: 输入要在远程服务器上执行的 Shell 命令。由于已经配置了密码Jenkins 会自动使用该密码进行登录并执行命令无需额外输入密码。如datelog.txt 21yum install -y vimlog.txt 21#注意这里如果想看日志最好再每一条命令后加入重定向输出日志log.txt 21因为有些日志再jenkins上并不显示5.保存并构建‌保存任务配置点击 ‌Build Now‌ 进行测试。查看控制台输出确认连接成功且命令执行无误。4.登录远程服务器确认命令是否正确执行找到log.txttext.txt 文件并查看记录是否是执行的内容如果又内容说明工程配置正确
返回列表