环境说明
Jenkins服务器是安装在Linux上,目前有个项目是在windows环境下进行编辑的,两台机器处在不同的网络环境中,现在要实现Jenkins远程windows来实现自动编辑打包整个流程
一般来讲可以通过ssh远程来连接访问windows,而Jenkins可以通过安装SSH插件来实现远程访问
Jenkins安装SSH Plugin
在Jenkins界面,系统管理->管理插件->安装SSH Plugin
可查看以下文章的 安装SSH Plugin 部分内容
原文链接:容器化部署 Jenkins,并配置SSH远程操作服务器_jenkins ssh-CSDN博客
Windows安装SSH服务
Windows上安装SSH服务的应用有很多,比如OpenSSH,freeSSHd等,本文举例通过安装openssh server,来实现Jenkins通过SSH连接windows服务器
在Windows 10上安装OpenSSH Server,打开开始菜单栏搜索:设置,
- 前往 "设置" > "应用" > "应用和功能" > "可选功能"。
- 确认已添加的列表是否已经安装Openssh服务器(注意是openssh服务器,不是openssh客户端),如果已经安装可跳过
- 点击 "添加功能",然后从列表中选择 "OpenSSH Server"。
- 点击 "安装"
安装成功后通过右键我的电脑→管理打开计算机管理,在服务里面找到OpenSSH SSH Server来开启和关闭服务和设置自启动。(如下图,实操环境:Windows10)
添加入站规则
在Windows Defender防火墙中添加入站规则,添加22/tcp端口。
操作步骤如下,实操环境:Windows10
在cmd中输入netstat -p tcp -an或者netstat -ano,如下图,可以看到监听22端口了,
验证
使用linux来验证该windows服务器是否成功安装SSH服务器,打开linux的终端窗口输入命令ssh test@172.16.10.23(ssh your_windows_username@your_windows_ip)输入密码后可访问windows下的目录内容,如果连接不上可能需要重启windows服务器
Jenkins上创建ssh连接
Jenkins-Manage Jenkins-Configure System找到Publish over SSH-定位到SSH Server,做一下配置
配置好之后,可通过Test Configuration来验证是否能连接成功
到此,Jenkins远程windows服务器已实现
Jenkins创建任务验证
Jenkins创建任务来实现windows下程序编辑打包工作,创建item,输入任务名称,选择Freestyle project
进入任务-配置,其他内容根据自己需要来填写,构建环境按照下图选择,Exec command,是windows服务器下要执行的具体脚本,我这里执行的是powershell脚本,相关命令如下,-File后加要执行脚本的绝对路径,-P后加脚本中出现的参数
powershell.exe -ExecutionPolicy Bypass -File "E:\LA-1000\LA1000_Autobuild.ps1" -P "$pushTestSvn"
配置完成后-保存,构建来验证是否成功