Jenkins打包推到远程服务器部署以及遇到的问题

  • 官网下载WAR包
  • 配置java环境,启动 : java -jar jenkins.war
  • 登陆首页 按照提示查找密码登陆,设置用户名。
  • 下一步提示下载插件,这时候先别点下载。更换jenkins 镜像地址
#关闭jenkins进程,jenkins目录 war 启动 目录:/root/.jenkins/updates/default.json

sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.cloud.tencent.com\/jenkins/g' $JENKINS_HOME/updates/default.json

# 若是上边的命令updates.jenkins-ci.org 找不到, 换成 updates.jenkins.io
而后启动从新进入页面,下载插件,速度起飞
  • 配置各类环境,首页 Manage Jenkins => Global Tool Configuration 须要运行什么配置什么,这个网上搜一大堆java

  • 我这里使用的目的是实现本地打包,推送到远程服务器发布运行。安装远程发布插件
    在这里插入图片描述web

  • 配置远程服务器链接信息 Manage Jenkins =》System Configuration,两种方式(密码或者密钥)json

    帐户密码链接

在这里插入图片描述

密钥链接

在这里插入图片描述

密钥生成方式,在远程目标服务器上生成
输入命令: ssh-keygen ,按照提示一直Enter键到底,按到如图所示为止

在这里插入图片描述

1:在 .ssh 目录下会生成私钥和公钥
2:复制公钥更名authorized_keys 命令:cp id_rsa.pub authorized_keys
3:把私钥内容复制填写到上图 Key 的文本框里,测试 success搞定!
  • 新建任务或者先建立试图(右箭头+号)再建立item,至关于分组,默认建立就在ALL里面。

在这里插入图片描述

建立任务,构建一个Maven项目

在这里插入图片描述

配置GIT链接地址,用户名信息。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

下图是远程推送关键步骤 注意详细看

name:就是前几步配置的ssh 那个自定义的名字,下拉框,能够看获得
Source files: 源文件,这个路径,举个例子吧:好比我这个jar 在jenkins的工做空间位置是:.jenkins/workspace/test-dt-service-member/dt-member/dt-member-service/target/dt-member-service-1.0.jar,这里这个地址填写:dt-member/dt-member-service/target/*.jar
Remove prefix:上传到目标服务器时,须要移除jar包以前的路径,上边source file写的是dt-member/dt-member-service/target/*.jar,这里移除前缀就是dt-member/dt-member-service/target
Remote directory:上传到目标服务器的那个目录下,以前ssh配置信息的是/data, 这里若是写个test,那么文件就会上传到目标服务器的 /data/test 下
Exec command: 填写执行的脚步命令

在这里插入图片描述

以上信息配置好,直接build 测试一下

可能会出现的问题:

1:Transfers 0 file ,检查上边提到的几个关于文件路径的问题
2:在执行脚本的过程当中 jenkins 进程不会中断,一直打log 日志,把上图的高级设置打开,把下边选项勾上

在这里插入图片描述

3:Jenkins 在构建过程当中,若是脚本里繁衍出来其余进程,Jenkins在脚本执行完会杀掉全部进程.好比 我运行一个 sh start.sh ,这个脚本里有一行 java - jar ***.jar 的命令用来启动项目 .这个时候你会发现Jenkins 已经执行完可是项目没启动成功. 只须要在启动脚本上加 nohup 就能够了 nohup sh start.sh

jenkins执行脚本不退出,参考这个大佬服务器