jenkins(三) jenkins 通过ssh 发布到远程的服务器

1.windows 发布远程 通过ssh 发布,但是windows 又不支持 ssh,所以需要下载第三方插件  

地址: http://www.freesshd.com/?ctt=download

a,下载这两个exe,第一个用来将该服务器可以所为sshservice服务连接,userimport 是导入该服务器上的用户的

 

 

 

b.将这两个exe文件拷贝到 要部署代码的windows服务器上,

 安装  freesshd.exe  下一步下一步,最后有个是否作为服务,秘钥什么的 都选是,

c.右键以管理员身份点击桌面 sshd的快捷方式,然后右下角 任务栏中 sshd

d.添加用户

 

e.配置sftp的工作目录

f.启动servicestatus(ssh server 启动的时候 会报错  address already  use,这时候从service 服务中停止sshd server,就可以了)

 

 

 

 

2.jenkins  中配置ssh 

a.在插件管理里 可选择里 搜索  ssh ,找到 publish  over ssh  安装

 

 

 

 b.在系统配置中找到ssh,然后添加sshserver

 

c.输入ip,账号 ,选择高级,然后使用密码 输入密码,然后点击右下角的 test configuration,看是否成功,如果不成功,看端口22 是否放开

 

 

 d.新建一个item ,然后配置git,账号密码,配置构建环境,设置cmd 命令,

   备注:由于ssh这个发布有个源 到目标,这个源只能是 jenkins的当前项目的工作目录,所以publish 直接pub到 该项目的路径下

 

 

 e: 然后构建步骤添加ssh

 

f,配置ssh相关

 

 cmd  /c  call D:\SSH_Home\tiktokapi\batfile\api.bat

 

api.bat文件的内容

C:\Windows\System32\inetsrv\appcmd.exe stop apppool /apppool.name:TikTokApi
xcopy D:\SSH_Home\tiktokapi   D:\wwwroot\tiktokapi   /E /D /Y
C:\Windows\System32\inetsrv\appcmd.exe start apppool /apppool.name:TikTokApi

g.   ssh  点击高级 选择exec inpty(这样可以避免  Jenkins 无法停止,一直打印日志直到超时。)

 

 

 备注:发布过程中遇到的各种问题

1.在jenkins的工作目录中 找到logs文件夹 ,删除logs文件夹就可以了,如果没有的 话那就是 ssh里边执行的cmd 或者 shell 脚本出错了

  .

 

posted @ 2022-12-07 19:00  kaikaichao  阅读(2128)  评论(0编辑  收藏  举报