linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

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


部署 java 项目-创建私有仓库

java 的项目是需要编译和打包的

编译和打包用 maven 完成,所以需安装 maven

本次实验,我们采用 git 私有仓库的形式,涉及到配置密钥

一共使用三台机器做实验:am-01(Jenkins,git 客户端)、am-02(gitlab)、am-03(java 项目)

机器 am-02 搭建 gitlab

[root@am-02:~#] vim /etc/yum.repos.d/gitlab.repo

[gitlab-ce]

name=Gitlab CE Repository

baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/

gpgcheck=0

enabled=1

[root@am-02:~#] yum -y install gitlab-ce

[root@am-02:~#] gitlab-ctl reconfigure

机器 am-01 获取公钥

[root@am-01:~#] ssh-keygen

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

bb:e0:1b:0e:eb:2f:1b:90:04:08:2b:ae:dd:94:29:22 root@am-01

The key's randomart image is:

+--[ RSA 2048]----+

|=                |

|.o               |

|o .              |

|o. . o           |

|E.+ +   S        |

|oo =     .       |

|. . + o .        |

|    .* o .       |

|   .++=..        |

+-----------------+

[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

web 页面配置创建私有仓库

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

添加密钥验证

新开窗口,打开 ssh key 页面

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

复制公钥到对应位置

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

回到 java 项目窗口

在 am-01 上添加仓库 host

[root@am-01:~#] vim /etc/hosts

172.17.1.242 gitlab.example.com

设置为 ssh,查看提示的操作

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

在 am-01 上执行对应操作

[root@am-01:~#] cd /home/

[root@am-01:/home#] git config --global user.name "Administrator"

[root@am-01:/home#] git config --global user.email "admin@example.com"

[root@am-01:/home#] git clone git@gitlab.example.com:root/java.git

Cloning into 'java'...

The authenticity of host 'gitlab.example.com (172.17.1.242)' can't be established.

ECDSA key fingerprint is 7b:ec:d2:f6:f1:9f:f6:78:e1:4c:42:2f:cb:1b:37:dc.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'gitlab.example.com' (ECDSA) to the list of known hosts.

warning: You appear to have cloned an empty repository.

[root@am-01:/home#] cd java/

[root@am-01:/home/java#] touch README.md

[root@am-01:/home/java#] git add README.md

[root@am-01:/home/java#] git commit -m "add README"

[master (root-commit) af2d736] add README

 1 file changed, 0 insertions(+), 0 deletions(-)

 create mode 100644 README.md

[root@am-01:/home/java#] git push -u origin master

Counting objects: 3, done.

Writing objects: 100% (3/3), 216 bytes | 0 bytes/s, done.

Total 3 (delta 0), reused 0 (delta 0)

To git@gitlab.example.com:root/java.git

 * [new branch]      master -> master

Branch master set up to track remote branch master from origin.

检查 gitlab 上是否有新增的文件

直接刷新 Java 项目页面

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

部署 jiava 项目-下载 zrlog 源码

在 am-01 上操作

[root@am-01:/home/java#] cd ..

[root@am-01:/home#] wget https://codeload.github.com/94fzb/zrlog/zip/master

--2018-06-07 23:26:55--  https://codeload.github.com/94fzb/zrlog/zip/master

正在解析主机 codeload.github.com (codeload.github.com)... 54.251.140.56, 13.229.189.0, 13.250.162.133

正在连接 codeload.github.com (codeload.github.com)|54.251.140.56|:443... 已连接。

已发出 HTTP 请求,正在等待回应... 200 OK

长度:未指定 [application/zip]

正在保存至: “master”



    [                             <=>                                                              ] 2,234,508    268KB/s 用时 9.4s  



2018-06-07 23:27:12 (232 KB/s) - “master” 已保存 [2234508]

[root@am-01:/home#] unzip master

[root@am-01:/home#] mv zrlog-master/* java/

mv:是否覆盖"java/README.md"? y

[root@am-01:/home#] cd java/

[root@am-01:/home/java#] git add .

[root@am-01:/home/java#] git commit -m "add zrlog"

[root@am-01:/home/java#] git push

Counting objects: 563, done.

Delta compression using up to 2 threads.

Compressing objects: 100% (511/511), done.

Writing objects: 100% (562/562), 1.88 MiB | 2.72 MiB/s, done.

Total 562 (delta 59), reused 1 (delta 0)

remote: Resolving deltas: 100% (59/59), done.

To git@gitlab.example.com:root/java.git

   9a09af8..e89e217  master -> master

gitlab 上检查是否 push 成功

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

部署 jiava 项目-安装 jdk 和 tomcat

在 am-03 上操作

[root@am-03:~#] yum -y install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64

[root@am-03:~#] cd /usr/local/src/

[root@am-03:/usr/local/src#] wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.31/bin/apache-tomcat-8.5.31.tar.gz

--2018-06-07 23:46:30--  https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.31/bin/apache-tomcat-8.5.31.tar.gz

正在解析主机 mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.8.193, 2402:f000:1:408:8100::1

正在连接 mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.8.193|:443... 已连接。

已发出 HTTP 请求,正在等待回应... 200 OK

长度:9552281 (9.1M) [application/octet-stream]

正在保存至: “apache-tomcat-8.5.31.tar.gz”



100%[=============================================================================================>] 9,552,281   1019KB/s 用时 8.2s  



2018-06-07 23:46:39 (1.11 MB/s) - 已保存 “apache-tomcat-8.5.31.tar.gz” [9552281/9552281])

[root@am-03:/usr/local/src#] tar xvf apache-tomcat-8.5.31.tar.gz

[root@am-03:/usr/local/src#] mv apache-tomcat-8.5.31 /usr/local/tomcat

编辑相关配置文件

tomcat 是有 web 管理页面的,而 jenkins 要能对 tomcat 做一些操作,就需要配置一下用户信息,访问权限等,从而使 jenkins 能通过 tomcat 的管理页面做一些操作

[root@am-03:/usr/local/src#] vim /usr/local/tomcat/conf/tomcat-users.xml

<role rolename="admin"/>

<role rolename="admin-gui"/>

<role rolename="admin-script"/>

<role rolename="manager"/>

<role rolename="manager-gui"/>

<role rolename="manager-script"/>

<role rolename="manager-jmx"/>

<role rolename="manager-status"/>

<user name="admin" password="itsupport.0" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />

#倒数第二行插入,主要是定义一些用户信息,注意用户和密码

[root@am-03:/usr/local/src#] cd /usr/local/tomcat/webapps/manager/

[root@am-03:/usr/local/tomcat/webapps/manager#] vim META-INF/context.xml

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|172.17.1.*" />

#这里是配置允许访问管理页面的 IP 地址,我添加了"172.17.1.*",指这一个网段的都可以访问

启动 tomcat

[root@am-03:/usr/local/tomcat/webapps/manager#] cd /usr/local/tomcat/bin/

[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

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

Tomcat started.

[root@am-03:/usr/local/src#] ps aux | grep tomcat

root      30036 16.0  7.6 2778720 76420 pts/0   Sl   00:00   0:07 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start

[root@am-03:/usr/local/src#] netstat -lntp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name       

tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      30036/java         

tcp6       0      0 :::8009                 :::*                    LISTEN      30036/java               

tcp6       0      0 :::8080                 :::*                    LISTEN      30036/java         

测试是否配置成功

点击 manager webapp

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

部署 java 项目-安装 maven

maven 可以帮你编译 java 的源码,打包为 war 包

下载地址:https://maven.apache.org/download.cgi

在 am-01 安装 maven

[root@am-01:/home/java#] cd /usr/local/src/

[root@am-01:/usr/local/src#] wget http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz

--2018-06-08 00:27:41--  http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz

正在解析主机 mirrors.shu.edu.cn (mirrors.shu.edu.cn)... 202.121.199.235

正在连接 mirrors.shu.edu.cn (mirrors.shu.edu.cn)|202.121.199.235|:80... 已连接。

已发出 HTTP 请求,正在等待回应... 200 OK

长度:8799579 (8.4M) [application/x-gzip]

正在保存至: “apache-maven-3.5.3-bin.tar.gz”



100%[=============================================================================================>] 8,799,579   1.05MB/s 用时 9.6s  



2018-06-08 00:27:56 (892 KB/s) - 已保存 “apache-maven-3.5.3-bin.tar.gz” [8799579/8799579])

[root@am-01:/usr/local/src#] tar zxvf apache-maven-3.5.3-bin.tar.gz

[root@am-01:/usr/local/src#] mv apache-maven-3.5.3 /usr/local/

[root@am-01:/usr/local/src#] cd ..

[root@am-01:/usr/local#] ls apache-maven-3.5.3/

bin  boot  conf  lib  LICENSE  NOTICE  README.txt

[root@am-01:/usr/local#] apache-maven-3.5.3/bin/mvn --version

Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-25T03:49:05+08:00)

Maven home: /usr/local/apache-maven-3.5.3

Java version: 1.8.0_171, vendor: Oracle Corporation

Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64/jre

Default locale: zh_CN, platform encoding: UTF-8

OS name: "linux", version: "3.10.0-229.el7.x86_64", arch: "amd64", family: "unix"

jenkins 配置 maven

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven

linux 学习笔记-108-jenkins-部署 java 项目-创建私有仓库,下载 zrlog 源码,安装配置 tomcat,安装 maven