• 使用jenkins连接linux部署jar包


    jenkins安装

    首先安装jenkins,我们可以使用docker安装。用下面命令拉取jenkins镜像。

    docker pull jenkins/jenkins
    

    然后正常安装jenkins容器即可。

    安装完成后,进入jenkins管理界面。会让我们输入初始化密码,和创建默认用户。我们按照提示操作即可。

    然后,用默认用户登录,进入界面如下:

    image

    创建凭证

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

    image

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

    image

    进入后,点击 create credentials。

    image

    然后输入账号密码即可。

    image

    创建ssh插件

    jenkins管理linux服务器是通过ssh工具连接的,所以,首先,我们要给linux服务器安装ssh。

    linux安装ssh也很简单,就执行几个命令即可。

    sudo apt install ssh
    sudo apt install ssh
    sudo service ssh start
    

    具体可以上网搜索。

    在jenkins中安装ssh插件,需要进入插件管理,搜索ssh。

    image

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

    image

    This plugin executes shell commands remotely using SSH protocol. 这句话说明了,他是执行命令连接用的。

    安装完成后,点击系统配置,进去管理ssh。

    image

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

    image

    全局工具配置

    配置完SSH,我们进行全局工具配置。

    主要是配置jdk,maven。

    点击全局工具配置,如下图:

    image

    新增jdk

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

    image

    新增maven

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

    image

    创建jenkins任务

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

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

    为了能运行我们的jar包,我们需要把发布好的jar包,上传到linux的/soft/app-kiba-spring-kafka/,然后创建一个startup.sh启动可执行文件。

    然后,我们创建一个简单的任务,点击build steps,选择Excute shell script on remote host using ssh(使用ssh在远程主机执行脚本),如下图:

    image

    然后保存任务。

    然后回到主页面执行构建,如下图:

    点击执行。尝试运行一下。

    我在执行时遇到一个错误,错误提示:ERROR: Failed to install JDK. Exit code=2。

    如下图:
    image

    这是因为我在全局工具配置时,jdk安装勾选了自动安装。

    回到全局工具配置,取消jdk自动安装,然后,系统会让我们输入javehome。

    image

    我们进入到容器,查找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

  • 相关阅读:
    《Linux高性能服务器编程》--TCP/IP协议族
    产品经理-研发流程-敏捷开发-迭代-需求评审及产品规划(15)
    ARM 汇编指令集——汇编中三种符号(汇编指令、伪指令、伪操作)、汇编基本格式、数据操作指令、跳转指令、特殊功能寄存器操作指令、内存操作指令、混合编程
    CodeForces刷题C语言:Next Test、Spit Problem、Traffic Lights、Reconnaissance、Borze
    【Python 】python 中 is 和 == 的区别
    RabbitMQ快速入门
    SpringBoot( 整合篇 ==> springboot 2.7.x 整合 Swagger 3.0)
    nginx-日志处理
    DefaultListableBeanFactory接口总结
    日常 - HttpURLConnection 网络请求 TLS 1.2
  • 原文地址:https://www.cnblogs.com/kiba/p/18056881