Jenkins之Windows服务器通过ssh远程发布(下)

简介: Jenkins之Windows服务器通过ssh远程发布(下)

高级配置中,可以添加需要排除的文件,用于在转换过程中,排除上传的文件,** 表示全文本匹配。

笔者案例,填写如下:

确认无后,点击保存。回到项目页面,进行立即构建,查看项目控制台输出如下:

# 省略以上内容
C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins\.jenkins\workspace\ynkenginemap\JenkinsDemo>exit 0 
SSH: Connecting from host [LAPTOP-86GF4FKI]
SSH: Connecting with configuration [localserver] ...
SSH: Disconnecting configuration [localserver] ...
SSH: Transferred 7 file(s)
Finished: SUCCESS

通过 xshell 可以看到对应工作目录中,已经生成一个 jenkins 的文件目录,文件目录中,包含对应本地发布的项目文件。

C:\Users\ggcyuser>dir jenkins                                                                          
 驱动器 C 中的卷是 Windows                                                                            
 卷的序列号是 22DB-1BE1                                                                               
 C:\Users\ggcyuser\jenkins 的目录                                                                     
2021/10/06  20:35    <DIR>          .                                                                 
2021/10/06  20:35    <DIR>          ..                                                                
2021/10/06  20:35               168 appsettings.Development.json                                      
2021/10/06  20:35           106,809 JenkinsDemo.deps.json                                             
2021/10/06  20:35             9,216 JenkinsDemo.dll                                                   
2021/10/06  20:35           174,592 JenkinsDemo.exe                                                   
2021/10/06  20:35            20,016 JenkinsDemo.pdb                                                   
2021/10/06  20:35               311 JenkinsDemo.runtimeconfig.json                                    
2021/10/06  20:35               555 web.config                                                        
               7 个文件        311,667 字节                                                           
               2 个目录 34,109,632,512 可用字节

此时,可能读者就会问,那如果需要远程访问的文件目录,并不是当前账户所在的根目录如何处理?

其实对于这个问题,分情况处理,主要针对远程账户默认用户目录与非默认目录。

3.1、默认用户目录

默认空间下的子级目录切换可以通过配置的 SSH Servers 进行处理,在配置 SSH Servers 就提到过如下输入字段:

Remote Directory 远程访问时,非默认访问路径时,需要用户依据实际需求进行指定(Windows仅仅适用于当前盘符)。

如果用户有实际需求,可以在当前字段中进行特定目录的目录配置,需要注意的是,目前笔者测试结果为通过 SSH Server 方式仅仅适用于当前Windows服务端的所在盘符,跨盘符操作不支持。

此处为了方便,笔者选择非默认目录,设置为服务器中的目录 jenkins,配置一个新的 SSH Severs,具体内容如下:

项目配置中对应的 SSH Server 修改为当前配置好的 directoryserver

保存后,进行构建,控制台输出如下:

# 省略以上内容
C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins\.jenkins\workspace\ynkenginemap\JenkinsDemo>exit 0 
SSH: Connecting from host [LAPTOP-86GF4FKI]
SSH: Connecting with configuration [directoryserver] ...
SSH: Disconnecting configuration [directoryserver] ...
SSH: Transferred 7 file(s)
Finished: SUCCESS

3.2、非默认目录

虽然无法直接切换目录,但是可以考虑在文件上传后,通过指令方式,将上传的文件进行指定目录的拷贝,此时需要使用的到 Exec command 输入框,进行输入转换之后的文件其他处理操作。

当前指令xcopy /s /y jenkins "E:\Study\Servers\jenkins",表示拷贝并在目标文件夹文件存在时进行强制覆盖操作,在 xshell 中能够正常使用,保存后,进行 Build Now,查看控制台输出结果如下:

# 省略以上内容
C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins\.jenkins\workspace\ynkenginemap\JenkinsDemo>exit 0 
SSH: Connecting from host [LAPTOP-86GF4FKI]
SSH: Connecting with configuration [localserver] ...
SSH: EXEC: completed after 201 ms
SSH: Disconnecting configuration [localserver] ...
SSH: Transferred 7 file(s)
Finished: SUCCESS

SSH 远程可以直接执行指令,而不考虑文件转换和拷贝,上述操作可以将文件转换和指令执行进行拆分,操作如下:

上述为笔者对自定义构建项目的操作与技巧说明。

四、参考链接

[1]官方文档:

https://www.jenkins.io/zh/doc/

[2] 文件目录拷贝:

https://blog.csdn.net/ak47007tiger/article/details/95749419

[3] 远程OpenSSH配置:

https://blog.csdn.net/qq_28806349/article/details/120624802

https://blog.csdn.net/qq_28806349/article/details/120626333

相关文章
|
4天前
|
网络协议 Unix 网络安全
FTP服务器怎么搭建?Windows server搭建FPT服务器
FTP服务器是按照FTP协议提供文件传输服务的计算机。它用于在两台计算机间安全地传输文件,支持用户权限管理和跨平台操作。FTP使用控制连接处理命令,数据连接传输文件,有PORT和PASV模式。要搭建FTP服务器,首先在Windows Server 2008 R2上安装IIS,确保选中FTP服务。接着,创建FTP文件夹作为站点根目录,通过IIS管理器添加FTP站点,配置站点信息、身份验证和权限。测试客户端通过telnet和浏览器访问FTP服务器,确认能成功登录及浏览文件。FTP常用于文件共享和管理,可通过专用工具如FlashFXP上传下载文件。
16 0
FTP服务器怎么搭建?Windows server搭建FPT服务器
|
14天前
|
网络协议 安全 Linux
在IntelliJ IDEA中使用固定公网地址远程SSH连接服务器环境进行开发
在IntelliJ IDEA中使用固定公网地址远程SSH连接服务器环境进行开发
20 2
|
10天前
|
网络安全 数据安全/隐私保护
服务器密码登录出现了:SSH connection failed: connect ECONNREFUSEDxxxxxxxx:22 * Xshell提示 SSH connection fa
服务器密码登录出现了:SSH connection failed: connect ECONNREFUSEDxxxxxxxx:22 * Xshell提示 SSH connection fa
|
17天前
|
Linux 数据安全/隐私保护 Windows
pscp 将Linux服务器上的文件同步到Windows服务器上
【6月更文挑战第28天】pscp 将Linux服务器上的文件同步到Windows服务器上
23 0
|
17天前
|
安全 Linux Shell
SSH服务器拒绝密码登录的解决方法
SSH服务器拒绝密码登录的解决方法
46 0
|
23天前
|
网络协议 网络安全 数据安全/隐私保护
如何在IDEA中使用固定公网地址SSH远程连接服务器开发环境(三)
在IDEA中通过固定公网地址SSH远程连接服务器开发环境,需要配置固定TCP端口以避免地址随机变化。首先,升级cpolar至专业版及以上,然后在官网保留一个固定TCP地址。进入cpolar管理界面,编辑隧道信息,将保留的固定地址填入,更新隧道。最后,在IDEA中新建SSH连接,输入固定地址和端口,验证连接。成功后,即可稳定远程开发。
|
5天前
|
存储 关系型数据库 数据库
给阿里云的建议和意见 一个云服务器架构是否可行
摘要(Markdown格式): 在修复阿里云服务器IPv4设置错误时遇到困难,导致服务器远程登录失败及外网访问受阻,耗时三天解决。建议阿里云更新文档,确保设置指导与实际情况一致,例如只需在路由表添加条目关联IPv4。此外,建议优化帮助页面,如采用折叠式设计减少干扰。服务器主要任务是数据分析、存储和分发,文中提出简化服务器框架,消除硬件软件复杂配置,利于初学者和独立开发者快速上手,降低时间成本。该设计旨在减少无用组件,节省资源,同时降低云服务商的人力和支持成本。期望云服务商考虑此类架构创新。目前未知是否有类似产品,期待业界反馈。
214 0
给阿里云的建议和意见 一个云服务器架构是否可行
|
7天前
|
存储 编解码 网络协议
阿里云服务器计算型和通用型四代云服务器实例区别及选择参考
目前阿里云在售的云服务器中,计算型和通用型实例规格都包含了第5代、第6代、第7代和最新第八代倚天云服务器产品,例如计算型实例中有c5、c6、c7、c8y实例,而通用型实例有g5、g6、g7、g8y等实例,有的新手用户并不清楚这四代产品之间的差别,本文为大家展示这四代云服务器实例在规格、CPU(核)、内存(G)、计算、存储、内存以及不同配置的指标数据等方面为大家做个对比,让大家了解一下他们之间的不同,以供参考和选择。
阿里云服务器计算型和通用型四代云服务器实例区别及选择参考
|
3天前
|
弹性计算 运维 安全
阿里云ecs使用体验
整了台服务器部署项目上线
|
4天前
|
弹性计算
阿里云ECS的使用心得
本文主要讲述了我是如何了解到ECS,使用ECS的一些经验,以及自己的感悟心得