linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

发布于 2018-06-11  222 次阅读


部署 java 项目-安装必要插件

还需要安装两个插件,Maven Integration plugin 和 Deploy to container Plugin,Maven Integration plugin 在创建一个 Maven 时会用到,Deploy to container Plugin 是为了让 war 包能发布到远程

安装 Maven Integration plugin

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

安装 Deploy to container Plugin

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

重启 jenkins

[root@am-01:~#] systemctl restart jenkins.service

检查是否安装正确

有构建一个 maven 项目则说明安装正确

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

部署 java 项目-构建 job

创建一个 maven 项目

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

General 配置

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

源码管理配置

需要取得 git 私有仓库地址

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

在 am-01 上取得私钥并把公钥传到 am-02

[root@am-01:~#] cat .ssh/id_rsa

-----BEGIN RSA PRIVATE KEY-----

MIIEowIBAAKCAQEAwprKyTTYepW8eLsvigu6b86JYotmM+XCj2kx9dzRwhPCBUmP

kf+k/wO4vzNY+/QDJbzL02cYniVOOLF0yCaniGMOqP3ubb85i3ONIEzMxFnSRu3a

lb96eBoxY4Mdwx8Rc2a6Ix3dUAiGeuKY7aLConBuyGE6/oYFWaGX6qrn6NXUtU/K

6EB12x/8p0Z57Inb39Mtx0A8YRu3zSPa78tRfejdwN2Qr/eDxLKigDhCQOm1xHoq

nQ8Mn+bWv9pXCaDOMGz+CdZT9Z+cI6DlGuGIMmJoflpXfuT0n6qtWXJ8MMQtbM+W

U8P46RRPhVoclfSN5qUWuhzB1vbBFokqeDZ8jwIDAQABAoIBAHWE9vtFD4oPzM53

9ACAjqkgZ/T7y8+Ba9ohI8ue+4khV2TMBIidgm2CONo2TwFwXUo31jsnIkW2r6Mq

/yQzu65wa5UALDFYbo7ZTBt6ZZoZyBOPZhZSmMnYv4Sh1KJVq7suCTBVw6WmUFf7

aXDwfmuMTEpz9SVpl+eF33EWnpALKifzzN9JGpifP98hQRnFWx+qjyxN5w2OXnSc

73HO5qzTP0sklsGyEi+C5HKkGmugnzxNFu8OLilqhuURD1l99MUeByo/wn9neX7d

hpcv8OozeK0LdpcM8/TmD0l3SK5lkFALelzpzf9FE48kWAQ2OxSlemp0sLGP7wla

e2iGzvECgYEA++UQ2Lzl97AVwk1fql2FVKfy9dSBMPCuO4z3iWpzh0j9GyXYsZSO

9tgkdTD4LPfHLqy39UdLIraULvEr7Jh09Fiu6SiVNb0QUTaD6mxwajxLCrULkqqC

Iw4o0f0HmlIMCb4EJH20AiJVn83Cf/PPgSgwlnzBsK7mL6AWXjrizvcCgYEAxca0

jJUf/k1wnpvl3WnwFraTE9ENRxgjQP5mXZK69C6VGIKHyULszDn+nhUuDijERwll

jARkXG4+fdEtrCao5yQsqd8OO5YgGFJbRFoXJ2Dc2p3iZ/P2FAg9vKbvsMvZcMuP

oPMScstoegPa92AA8p5u0Jcx18lepPnbbqeWoSkCgYB/GD3ezbjOt4bTCc0qHZPH

ehIpnTYuJlIS8/Z13EM8UER87SSfvRBBVh9XDgU6Uy6pyzXqSTWM50hvQvphny7r

ls9yDyrx+VoBUBtRLbOutos6dMzJDMUqwNsx0JSEdb9jLv/SFaa8qOxA/EWV38Ok

LE4PsBTee/DiuMhwdQ+5UwKBgHE650mJYyzEB1M3bC4MpeFLG/9/c3udjSl7vP2b

sR91v/StXrJSd6IhHe5BsAF5Q45sCdBU/2SP1YVRCjYCWDclVdDXnJ1uwOdL12bV

sWXhJfCf7eyYFu23Hilw5c+xlcbnNE7we0JvxFv+8xEnzMMbA9S2i1nAt0f6qK+8

kRepAoGBAOkUwGTQCfRpeTsHzq/HY5fbZrJ/b1rJT8CL/gbyPS75xwmf6XBW7Zc5

aENFMslXfr9AStQZS09F7IqUResg/uJCzJFeEoNGSzoeQhPkI+DIiltXd+SmkI9X

35R7bFK90Td3jAtYtRojbtYKF2Ij1zfa5NxU0C7V1ZZXsejnFGnf

-----END RSA PRIVATE KEY-----

[root@am-01:~#] cat .ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCmsrJNNh6lbx4uy+KC7pvzolii2Yz5cKPaTH13NHCE8IFSY+R/6T/A7i/M1j79AMlvMvTZxieJU44sXTIJqeIYw6o/e5tvzmLc40gTMzEWdJG7dqVv3p4GjFjgx3DHxFzZrojHd1QCIZ64pjtosKicG7IYTr+hgVZoZfqqufo1dS1T8roQHXbH/ynRnnsidvf0y3HQDxhG7fNI9rvy1F96N3A3ZCv94PEsqKAOEJA6bXEeiqdDwyf5ta/2lcJoM4wbP4J1lP1n5wjoOUa4YgyYmh+Wld+5PSfqq1ZcnwwxC1sz5ZTw/jpFE+FWhyV9I3mpRa6HMHW9sEWiSp4NnyP root@am-01
[root@am-02:~#] vim .ssh/authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCmsrJNNh6lbx4uy+KC7pvzolii2Yz5cKPaTH13NHCE8IFSY+R/6T/A7i/M1j79AMlvMvTZxieJU44sXTIJqeIYw6o/e5tvzmLc40gTMzEWdJG7dqVv3p4GjFjgx3DHxFzZrojHd1QCIZ64pjtosKicG7IYTr+hgVZoZfqqufo1dS1T8roQHXbH/ynRnnsidvf0y3HQDxhG7fNI9rvy1F96N3A3ZCv94PEsqKAOEJA6bXEeiqdDwyf5ta/2lcJoM4wbP4J1lP1n5wjoOUa4YgyYmh+Wld+5PSfqq1ZcnwwxC1sz5ZTw/jpFE+FWhyV9I3mpRa6HMHW9sEWiSp4NnyP root@am-01

返回 jenkins 页面,配置源码管理

因为 jenkins 需要访问 gitlab,所以要设置用户和私钥

如果你的 git 客户端和 jenkins 是分开的,那么密钥验证的操作会跟我这里有点不同

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

配置 Build

编译之前先 clean 一下

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

配置构建后操作

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

测试一下

提示出错,可能是 java 出问题

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

部署 java 项目-手动安装 jdk

查询可以见到是有 Oracle jdk 的

[root@am-01:~#] ls /usr/local/jdk1.8/

bin        db       javafx-src.zip  lib      man          release  THIRDPARTYLICENSEREADME-JAVAFX.txt

COPYRIGHT  include  jre             LICENSE  README.html  src.zip  THIRDPARTYLICENSEREADME.txt

[root@am-01:~#] /usr/local/jdk1.8/bin/java -version

java version "1.8.0_161"

Java(TM) SE Runtime Environment (build 1.8.0_161-b12)

Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

把 openjdk 改为 Oracle jdk

记得不勾选自动安装,我们自定义

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

重启 jenkins

[root@am-01:~#] systemctl restart jenkins.service

继续测试

这次成功了,邮箱也能收到邮件

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

部署 java 项目-发布 war 包

重新配置任务中的构建后操作,新增一个操作

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

配置

用户名密码填写访问 tomcat 管理界面的那个用户名密码

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

构建测试一下

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

有错误提示

经研究,这个错误是 jenkins 服务器的 jdk 版本和 tomcat 服务器的 jdk 版本不一致

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

在 am-03 上重新配置一下 jdk,删除原来的 openjdk,从 am-01 中把 jdk 传输到 am-03

[root@am-01:~#] scp -r /usr/local/jdk1.8 172.17.1.243:/usr/local/
[root@am-03:~#] yum -y remove java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64

[root@am-03:~#] rpm -qa | grep java

tzdata-java-2018e-3.el7.noarch

javapackages-tools-3.4.1-11.el7.noarch

python-javapackages-3.4.1-11.el7.noarch

java-1.8.0-openjdk-headless-1.8.0.171-8.b10.el7_5.x86_64

[root@am-03:~#] rpm -e --nodeps tzdata-java-2018e-3.el7.noarch

[root@am-03:~#] rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.171-8.b10.el7_5.x86_64

[root@am-03:~#] ls /usr/local/jdk1.8/

bin        db       javafx-src.zip  lib      man          release  THIRDPARTYLICENSEREADME-JAVAFX.txt

COPYRIGHT  include  jre             LICENSE  README.html  src.zip  THIRDPARTYLICENSEREADME.txt

[root@am-03:~#] vim /etc/profile

JAVA_HOME=/usr/local/jdk1.8/

JAVA_BIN=/usr/local/jdk1.8/bin

JRE_HOME=/usr/local/jdk1.8/jre

PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin

CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar

[root@am-03:~#] source /etc/profile

[root@am-03:~#] java -version

java version "1.8.0_161"

Java(TM) SE Runtime Environment (build 1.8.0_161-b12)

Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

[root@am-03:~#] /usr/local/tomcat/bin/shutdown.sh

Using CATALINA_BASE:   /usr/local/tomcat

Using CATALINA_HOME:   /usr/local/tomcat

Using CATALINA_TMPDIR: /usr/local/tomcat/temp

Using JRE_HOME:        /usr/local/jdk1.8

Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

[root@am-03:~#] /usr/local/tomcat/bin/startup.sh

Using CATALINA_BASE:   /usr/local/tomcat

Using CATALINA_HOME:   /usr/local/tomcat

Using CATALINA_TMPDIR: /usr/local/tomcat/temp

Using JRE_HOME:        /usr/local/jdk1.8

Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

Tomcat started.

再次构建测试一下

这次成功了

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

访问一下页面看下,能访问到页面了

linux 学习笔记-109-jenkins-部署 java 项目-安装必要插件,构建 job,手动安装 jdk,发布 war 包

至此,使用 Jenkins 部署 java 项目结束了!