Jenkins远程部署Linux服务器

本文详细介绍如何使用Jenkins配合publishoverssh插件实现自动化远程部署Linux服务器上的应用,包括配置SSH服务器、项目构建及远程操作步骤。

前言

之前在Jenkins上也有一些使用经验了,但是都是使用团队配置好的Jenkins,自己只需要管自己的项目以及执行构建即可,这一次自己尝试了一下配置Jenkins的远程部署Linux服务器以及应用。

执行过程如下:

1. Jenkins拉取代码

2. 本地构建打包

3. 连接远程服务器

4. 上传打包应用

5. 到相应目录解压应用内容以及重启正在运行的应用。

插件

远程部署过程中在本地操作远程服务器使用的插件是publish over ssh
在系统管理中找到插件管理

点击插件管理


搜索publish over ssh


笔者这里没有搜索出来是因为已经安装过了

安装完成后回到刚才的系统管理的页面,往下拉会看到一个系统设置,点击进到系统设置页面。

往下拉,会看到SSH Servers相关的配置


笔者是使用密码的方式进行ssh服务器,在Passphrase填写对应的密码即可,还有其他四项内容如下:

  1. Name是给sshserver自定义一个名称
  2. Hostname是ssh服务器的地址
  3. Username是ssh服务器的用户名
  4. Remote Directory是需要上传文件到服务器的远程目录

填写基本信息完成后可以点击Test Configuration测试下是否连接正常,信息都正确后点击应用Apply,一个ssh服务器就配置好了,剩下的就是要在项目配置的时候使用已填的ssh服务器进行操作。

项目的代码拉取,命名,构建这里都略过,直接看项目远程部署部分的配置。

首先,在构建完成后的行动中选择Send build artifacts over SSH

填写相对应的远程操作

上述图中展示的是笔者将target目录下的所有war包都打包到远程服务器tomcat下的webapps/ROOT目录下,然后解压war包,睡10S,执行重启脚本

这里详细讲解下:

  • Source files 需要打包的文件
  • Remove prefix 需要去除的前缀路径
  • Remote directory 文件上传的远程服务器目录,这里的目录是之前远程服务器设置的Remote directory目录的相对目录

也就是说笔者这里设置的目录实际上等于之前服务器设置的目录/usr/local/apache-tomcat-8.5.37加上这里设置的目录/webapps/ROOT,连起来就是/usr/local/apache-tomcat-8.5.37/webapps/ROOT

  • Exec command在远程服务器上执行的命令

远程部署linux服务器的相关配置到这里就完成了,开始愉快的自动化远程部署之旅吧!

始发于 四颗咖啡豆 发布!

关注公众号->[四颗咖啡豆] 获取最新内容

### 使用Jenkins进行Windows系统的远程部署 对于希望利用Jenkins实现自动化持续集成和构建流程的团队而言,配置Jenkins以支持Windows环境下的远程部署是一项重要技能[^1]。为了达成这一目标,通常需要完成以下几个方面的设置: #### 1. 安装并配置Jenkins Master节点 确保已经在Linux服务器或其他操作系统上安装好Jenkins作为Master节点,并能够正常运行。 #### 2. 设置Windows Slave节点 通过SSH或Java Web Start方式将Windows机器注册成为Jenkins的Slave节点。这一步骤允许Jenkins能够在指定的目标环境中执行命令和脚本文件。 ```powershell # PowerShell 脚本用于验证连接到 Jenkins 的 Windows slave 是否成功建立 Test-NetConnection -ComputerName "jenkins-master-ip" -Port 8080 ``` #### 3. 配置凭据管理器(Credentials Manager) 在Jenkins中添加必要的认证信息以便访问私有仓库或者其他受保护资源。这些凭证可以被后续的任务所调用使用。 #### 4. 创建Pipeline项目定义CI/CD过程 编写声明式的pipeline语法来描述整个软件交付流水线的工作流。此过程中应包含编译、测试以及最终向生产环境推送更新的具体操作指令集。 ```groovy // Groovy Pipeline Script 示例 pipeline { agent { label 'windows' } stages { stage('Checkout') { steps { git branch: 'main', url: 'https://github.com/user/repo.git' } } stage('Build') { steps { bat 'msbuild.exe /p:Configuration=Release src\\MySolution.sln' } } stage('Deploy') { steps { script { powershell """ Copy-Item -Path ".\\output\\" -Destination "\\\\remote-machine\\c\$\\target-folder" -Recurse """ } } } } } ``` 上述代码片段展示了如何创建一个多阶段管道,在其中包含了检出源码库、构建解决方案以及复制生成物至另一台计算机上的共享目录这三个主要环节。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值