• 使用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

  • 相关阅读:
    Leetcode刷题详解—— 找出所有子集的异或总和再求和
    在 Python 中构建高度可扩展的数据流管道
    kafka入坑
    入门力扣自学笔记120 C++ (题目编号1417)
    Android13保存文件到sdcard报错:Operation not permitted
    随机过程理论知识(五)
    第十九章 自动化理论
    QQ plot 的解读
    windows10下安装fbprophet及使用虚拟环境
    集线器与交换机的区别
  • 原文地址:https://www.cnblogs.com/kiba/p/18056881