jenkins 发布到windows 项目,包括同步项目代码 和 启动项目(后台运行)
首先我想到的是 能不能像连接linux 一样去生成公钥 让其无密码登录各 服务器
这里给一下
基础条件
1.jenkins 服务器 (linux)
2.项目 (windows)
连接linux的方法
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub 账号@IP
Ip为您对应的想登录的 服务器 ip
我在jenkins中创建连接的时候 不能连接成功
session 连接失败
但是我ssh -p 22 appuser@172.16.12.221
是可以成功的,这就让我很懵逼
1.我现在windows 安装了PowerShell
一路next ,但是需要注意

勾选上
2.在jenkins 服务器上 通过ssh -p 22 appuser@172.16.12.221 发现能连接成功
3.我写了一个脚本 去发送项目给windows 然后调用我写好的重启脚本
jenkins linux处的脚本:
#!/usr/bin/expect
set path /root/.jenkins/workspace/您的项目jar
set user root
set timeout 2
spawn scp -r $path appuser@172.16.12.221:/
expect "*password:*"
send "密码\r"
expect "*]#"
spawn ssh -p 22 appuser@172.16.12.221
expect "*password:*"
send "密码\r"
expect "*]#"
send "cd D:\env\r"
expect "*]#"
send "start startup.bat\r"
send "exit\r"
expect eof
然后是windows 处的startup.bat
@echo off & setlocal enabledelayedexpansion
taskkill /f /im xgf-java.exe
start winrar x -y 您的项目 ./
cd .\您的项目名字\bin
start startup.bat
ls
汉字部分都需要根据您自己的项目 服务器 进行配置
xgf-java 是我自己的定义,在jdk 的bin 中 复制java.exe 复制出来一个 ,改名为xgf-java,然后我之后就可以通过 xgf-java 名字来查找对应的项目
这个时候 build jenkins 就可以了,如果还有什么问题 请评论


1596

被折叠的 条评论
为什么被折叠?



