您的位置:

使用Jenkins进行SSH远程部署,让你的代码快速上线

一、Jenkins简介

Jenkins是一个Java编写的开源工具,提供了许多插件,用于持续集成和持续交付。Jenkins可自动构建、测试和部署软件项目。同时由于插件多,所以 Jenkins 可以支持不同的版本控制。

使用 Jenkins 优点即在于可以让整个工程的构建变得简单易操作,从而节省时间和精力,使我们更专注于产品功能本身,而非配置环境。同样的,使用 Jenkins 后,我们可以实现自动化的构建、测试、部署等功能,而不必手动干预。

二、Jenkins与SSH

Jenkins支持SSH远程部署,这意味着我们可以使用Jenkins来自动部署我们的项目到远程服务器上。

在使用Jenkins进行SSH部署之前,需要做以下准备工作:

1、确保已经安装了Jenkins。

2、确保远程服务器已经安装好了客户端工具ssh,并且可以通过ssh连接到该服务器,同时具有足够的权限,能够执行所需的部署操作。

为了测试我们的SSH连接是否正常,可以在Jenkins节点机器上安装命令行SSH客户端工具,运行以下命令测试SSH链接是否成功:

ssh username@remotehost

其中username是你在远程服务器上的用户名,remotehost是远程服务器的IP地址或者域名。

三、Jenkins SSH Plugin插件

为了使用Jenkins进行SSH远程部署,我们需要安装SSH插件。Jenkins提供官方插件Jenkins SSH Plugin, 安装方法如下:

1、进入Jenkins管理界面,在左侧导航栏中选择“插件管理”。

2、点击“可选插件”,在搜索框内输入“SSH plugin”, 找到Jenkins SSH Plugin插件并选择安装。

3、安装完成后重启Jenkins。

四、Jenkins SSH远程部署配置

SSH Plugin插件安装完成后,需要进行SSH远程部署配置,以下是具体步骤:

1、在Jenkins的配置界面中,选择“系统管理” - “系统设置”。

2、在该页面中找到“SSH remote hosts”部分,点击“添加”按钮添加配置信息。

3、在弹出的窗口中填写远程服务器的SSH连接信息,包括:

a) Hostname: 远程服务器的IP地址或者域名

b) Port: 远程服务器的SSH端口号

c) Username: 远程服务器的用户名

d) Private Key: 连接远程服务器的私钥文件内容,也可以填写私钥文件的绝对路径。

配置完成后,可以在当前页面进行测试连接,若连接成功,说明配置正确。

五、Jenkins SSH远程部署任务配置

SSH Plugin插件配置完成后,我们需要进行 SSH 远程部署任务的配置,以下是具体步骤:

1、在 Jenkins 的主界面上,点击“新建任务”按钮。

2、选择“构建一个自由风格的软件项目”。

3、填写项目基本信息,包括项目名称、描述和源代码版本控制等。

4、在构建选项中找到SSH Publisher选项,添加远程服务器信息和命令。

a) Transfers - Exec command: 输入所需执行的命令,比如:cd /root/project && git pull 和 sh run.sh 等。

b) Transfers - Remote files: 要传输的文件及目录地址,默认为 **/*,如需传输其他目录及文件也可自定义修改。

c) Transfers - Remove prefix: 生成的远程目标文件所需移除的前缀,如无需移除前缀则空置即可。

5、点击保存,完成任务配置。

六、Jenkins SSH远程部署任务执行

完成任务配置后,我们可以手动执行任务,也可以通过构建触发器设置自动触发。在任务运行成功后,我们可以在远程服务器上看到更新后的程序已经自动部署完成。

通过以上步骤,我们就可以使用Jenkins进行SSH远程部署,让我们的代码快速上线,这种持续集成与持续部署的方式在软件开发中非常常见,它不仅能大大提高开发效率,还能保证代码的质量和可靠性。