使用jenkins连接linux部署jar包
jenkins安装
首先安装jenkins,我们可以使用docker安装。用下面命令拉取jenkins镜像。
docker pull jenkins/jenkins
然后正常安装jenkins容器即可。
安装完成后,进入jenkins管理界面。会让我们输入初始化密码,和创建默认用户。我们按照提示操作即可。
然后,用默认用户登录,进入界面如下:

创建凭证
然后配置我们要管理的linux服务器的凭证——用户名密码。

进入后,点击全局,下图中,我已经创建了一个凭据。

进入后,点击 create credentials。

然后输入账号密码即可。

创建ssh插件
jenkins管理linux服务器是通过ssh工具连接的,所以,首先,我们要给linux服务器安装ssh。
linux安装ssh也很简单,就执行几个命令即可。
sudo apt install ssh
sudo apt install ssh
sudo service ssh start
具体可以上网搜索。
在jenkins中安装ssh插件,需要进入插件管理,搜索ssh。

找到对应的ssh插件,分辨那个是我们要用的ssh,主要看他的描述,如下图:

This plugin executes shell commands remotely using SSH protocol. 这句话说明了,他是执行命令连接用的。
安装完成后,点击系统配置,进去管理ssh。

进入页面找到SSH remote hosts,然后点击【新增】,然后输入linux主机名和端口号,然后选择我们刚刚创建的凭证。

全局工具配置
配置完SSH,我们进行全局工具配置。
主要是配置jdk,maven。
点击全局工具配置,如下图:

新增jdk
点击新增jdk,选择jdk 8,这里因为是从 java.sun.com下载,所以需要一个oracle的账户,我这里已经输入完了,所以下图未显示输入oracle的地方。

新增maven
点击新增maven,这里选择maven3.6.2。

创建jenkins任务
点击Dashboard仪表盘,回到首页,然后点击新建任务。

然后,创建一个自由风格的任务,如下图:

为了能运行我们的jar包,我们需要把发布好的jar包,上传到linux的/soft/app-kiba-spring-kafka/,然后创建一个startup.sh启动可执行文件。
然后,我们创建一个简单的任务,点击build steps,选择Excute shell script on remote host using ssh(使用ssh在远程主机执行脚本),如下图:

然后保存任务。
然后回到主页面执行构建,如下图:

点击执行。尝试运行一下。
我在执行时遇到一个错误,错误提示:ERROR: Failed to install JDK. Exit code=2。
如下图:

这是因为我在全局工具配置时,jdk安装勾选了自动安装。
回到全局工具配置,取消jdk自动安装,然后,系统会让我们输入javehome。

我们进入到容器,查找javahome。
进入容器
docker exec -it 1Panel-jenkins-4v09 /bin/bash
输出javahome
echo $JAVA_HOME
然后填写进上图中。
这个java版本我们不用关心,因为这个java版本是jenkins的所在docker容器的java版本,只要让jenkins通过这个jdk能执行命令即可,实际我们的jar运行容器或者服务器,有自己的java配置,他们互相不影响。
修改完,我们再回到之前的任务界面,运行任务。
结语
这样,我们就完成了使用jenkins连接linux部署jar包。
当然,jenkins还能实现更多功能,比如他可以使用git插件,直接下载源码,然后使用maven插件进行打包,然后再执行我的这个命令,完成发布。
当然,他还可以在上面的步骤中再加一步,构建一个docker容器,再向容器里发布jar包。
jenkin的使用非常复杂,只能靠自己慢慢摸索。
注:此文章为原创,任何形式的转载都请联系作者获得授权并注明出处!

若您觉得这篇文章还不错,请点击下方的【推荐】,非常感谢!
https://www.cnblogs.com/kiba/p/18056881
使用jenkins连接linux部署jar包的更多相关文章
- jenkins:用jenkins通过ssh部署jar包到远程linux机器(jdk 15 / jenkins 2.257)
一,远程linux机器上安装java15(如已安装,跳过此步) 说明:演示用的linux机器ip: 192.168.1.47 1,下载: [root@blog ~]# cd /usr/local/so ...
- Linux部署jar包
当我们把java程序打成jar包后,放到linux上通过putty或其它终端执行的时候,如果按照:java -jar xxxx.jar执行,当我们退出putty或终端的时候,xxxx.jar这个程序也 ...
- linux 部署jar包开机自启
1.用xShell将jar包上传到linux上(jar包上传到 /root/java) 输入rz命令,看是否已经安装了lrzsz,如果没有安装则执行 yum -y install lrzsz ...
- 通过Jenkins调用自动部署war包及jar包到服务器上的Shell脚本
1)部署war包#!/bin/bashif [ id>0];then echo"stopproject" kill −9 idelse echo "project ...
- Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包
Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...
- Maven deploy部署jar包到远程私仓
Maven deploy部署jar包到远程私仓 maven deploy介绍 maven中的仓库分为两种,snapshot快照仓库和release发布仓库.snapshot快照仓库用于保存开发过程中的 ...
- centos7后台服务部署jar包
centos7 服务部署jar包 centos7 服务介绍 CentOS7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分, 每一个 ...
- Linux中jar包指定端口启动并记录日志
Linux中jar包指定端口启动并记录日志: java -jar -Dserver.port=38080 group-buying-0.0.1-SNAPSHOT.jar >log.log ...
- Linux 运行jar包命令(Cent OS 7后台运行jar包)
Linux 运行jar包命令如下: 方式一 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 java -jar shareniu. ...
- Linux中jar包启动和jar包后台运行
Linux 运行jar包命令如下: 方式一: java -jar shareniu.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? ...
随机推荐
- windows加壳程序WinLicense与Themida
反调试提示 开了Procmon.exe之后启动游戏会弹出这个框,这个是程序加壳之后的反外挂,反调试提示框. WinLicense A monitor program has been found ru ...
- 不同版本的Unity要求的NDK版本和两者对应关系表(Unity NDK Version Match)
IL2CPP需要NDK Unity使用IL2CPP模式出安卓包时,需要用到NDK,如果没有安装则无法导出Android Studio工程或直接生成APK,本篇记录一下我下载NDK不同版本的填坑过程. ...
- 遇到一个bug,组件不更新内容
解决办法 当v-if的值发生变化时,组件都会被重新渲染一遍.因此,利用v-if指令的特性,可以达到强制刷新组件的目的. <template> <comp v-if="upd ...
- SqlSugar入门
SqlSugar入门 创建对象 你可以使用 SqlSugarClient (new模式)或者 SqlSugarScope (单例) 对数据库进行增.删.查.改等功能 注意:除了名字和使用模式不同,功能 ...
- Java应用系统监控方法简介
1. tsar 阿里巴巴开源的实时系统监控工具.其内部的sunfire有部分指标就是基于该工具每分钟采集一次来获取的. github 监控项及数据来源一览 摘自tsar/info.md 监控项 来源 ...
- 基于BiLSTM-CRF模型的分词、词性标注、信息抽取任务的详解,侧重模型推导细化以及LAC分词实践
基于BiLSTM-CRF模型的分词.词性标注.信息抽取任务的详解,侧重模型推导细化以及LAC分词实践 1.GRU简介 GRU(Gate Recurrent Unit)门控循环单元,是[循环神经网络]( ...
- 硬件、OS、数据库各种兼容性傻傻分不清?
服务器硬件型号.OS操作系统版本.Oracle数据库版本.. 各种型号各种版本,排列组合的话也是N多种组合,如何确认这些可以兼容并且得到官方认证呢? 其实很简单,各司其职,各自去确认各自的. 我们知道 ...
- 剑指Offer07 重建二叉树
剑指 Offer 07. 重建二叉树 前置概念: 前序:访问根节点,先序遍历左子树,先序遍历右子树: 中序:中序遍历左子树,访问根节点,中序遍历右子树: 后序:后序遍历左子树,后序遍历右子树,访问根节 ...
- CF1861
只做出 A,身败名裂 A 显然不管怎么排,13,31 总有一个会出现,看看哪个出现. B 给定两个 01 串,每次可以挑一个串的一个子串,要求两端相同,然后把这个子串全部变得和两端相同. 问经过若干次 ...
- 罗克韦尔 FT View使用占位符(全局对象参数)来指定弹出窗口的显示名称
罗克韦尔 FT View使用占位符(全局对象参数)来指定弹出窗口的显示名称 标签占位符 标签占位符能实现将单个图形显示用于多个相似的操作,从而节省开发和维护应用程序的时间. 例如,要为使用同一台机器将 ...