当前位置: 首页 > news >正文

Docker+Jenkins+Gitee+Maven构建后台jar包后配置SSH传送到服务器并执行指定命令

场景

Docker+Jenkins+Gitee+Maven项目配置jdk、maven、gitee等拉取代码并自动构建以及遇到的那些坑:

Docker+Jenkins+Gitee+Maven项目配置jdk、maven、gitee等拉取代码并自动构建以及遇到的那些坑_霸道流氓气质的博客-CSDN博客

在上面将后台jar包构建成功之后,如果需要将构建的jar包传输到服务器可以通过

配置ssh并传输来实现。

在上面讲过如果需要上传jar包到服务器上,即jenkins所在服务器和jar包所在服务器不是同一个,需要进行传输jar包。

需要安装插件Publish Over SSH

 

注:

博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主

实现

1、添加SSH Servers

Dashboard-系统配置-SSH Servers

Name:自取

HostName:SSH 服务器的ip

UserName:SSH服务器的用户名

Remote Directory:配置的根目录,需要注意的是

此目录必须存在,否则不会创建。发布者只能将文件放在此目录下。

注意,没有什么可以阻止exec创建、删除或移动文件到用户有权限的任何地方。

换句话说,登录ssh的用户需要有该目录的权限,且后续的操作以该目录为根目录,其他目录的后续配置是在此目录的基础上。

 

这里配置的用户只对/home/iunisjzx/目录有权限,所以配置Remote Directory为当前目录。

然后点击高级配置

 

勾选Use password authentication ,or use a different key

勾选这个选线才会出来输入密码的地方

 

在Passphrase/Password框中输入上面ssh用户的密码,下面的Path tp key 和Key不t用管,那是配置.ssh公钥私钥对的方式,

这里使用用户名和密码的方式。

 

配置完成之后点击Test Configuration,提示Success 则配置成功。

 

2、构建任务配置

安装完插件并配置了SSH Server之后,来到任务的构建配置中

在Post Steps中选择Send files or execute commands over SSH

 

然后选择你上面新建的SSH Server,并配置其他参数

Source files:jar包所在的路径,注意这里的是相对路径,是相对于项目所在目录下的路径

比如上面构建后jar包的全路径为:

/home/badao/jenkinsworkspace/workspace/fzys_show_server_maven/Server/ruoyi-admin/target/ruoyi-admin.jar

 

那么这里项目路径就是

/home/badao/jenkinsworkspace/workspace/fzys_show_server_maven

所以这里的Source files 为

Server/ruoyi-admin/target/ruoyi-admin.jar

Remove prefix:要移除的前缀,我们只希望传输jar包,而不是将整个Server/ruoyi-admin/target/ruoyi-admin.jar连同这前面路径也会创建。

所以这里Remove prefix为

Server/ruoyi-admin/target

Remote directory:远程目录,即传输过去jar包存放的目录,注意这里是在前面配置SSH Server时

配置的Remote directory路径的基础上,这里希望上传后的jar包就存储在/home/iunisjzx这个路径下,所以这里再

配置Remote directory时只需要为/即可。

 

后面Exec command即是在传输之后需要执行的命令,这里根据自己jar的环境具体配置。

这里只是简单的输出一句话

echo "succ"

一般是备份jar包,替换jar包,重启容器、compose之类的操作。

3、此时再进行构建

查看控制台输出时能看到传输文件成功

 

此时去ssh server上查看jar包也上传成功

 

但是为什么没有看到配置的执行的命令的输出

这是因为需要勾选Verbose output in console

才能在构建日志台输出中看到输出的日志

如果说执行的步骤较多,通过添加一些echo输出并打开日志输出,就能看到执行到哪一步以及一些调试信息等。

 

 

此时再构建时就能在控制台中看到输出了

 

相关文章:

  • 网站建设制作 武汉/百度上怎么免费开店
  • 织梦本地做网站/seo西安
  • 开锁公司做网站/无锡网络优化推广公司
  • 五指山网站建设/百度秒收录软件工具
  • 重庆响应式网站建设找哪家/一个完整的营销策划案范文
  • java做网站与php做网站/软文营销的技巧有哪些
  • 职场经验:游戏测试的主要工作及主要流程
  • 创建react项目
  • 信息安全产品认证
  • 2021地理设计组一等奖:面向游客的旅游路线优化设计——以丹霞山景区为例
  • 企业数字化转型的整体如何规划?
  • 开放下载丨2023年二十万字技术年货新鲜送达
  • 使用 Flet Python 框架构建 URL 缩短器 Flutter 应用程序
  • 2023世界杯新媒体传播热点盘点 中国元素之中国馆、富而喜悦!
  • 如何让 git 使用我选择的编辑器来编辑提交消息?
  • 使用msf生成木马反弹shell(windows系统)
  • 2022巨量引擎城市峰会:发布重磅白皮书 提升城市繁荣力
  • Vue3组件化开发(⼀)(二) | webpack