一、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远程部署,让我们的代码快速上线,这种持续集成与持续部署的方式在软件开发中非常常见,它不仅能大大提高开发效率,还能保证代码的质量和可靠性。