jenkins 部署java 项目



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

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

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


准备工作:

自己的git仓库  已经搭建完毕

生成秘钥对

下载zrlog 的源码

下载的文件进行解压https://github.com/94fzb/zrlog/archive/master.zip

然后用git push到git 私有仓库中


下载源代码

[root@caosm03 caosm]# wget https://github.com/94fzb/zrlog/archive/master.zip
[root@caosm03 caosm]# unzip master.zip
[root@caosm03 caosm]# mv zrlog-master /usr/local
[root@caosm03 zrlog-master]# ls
bin  CHANGELOG.md  doc  LICENSE  mvnw  mvnw.cmd  pom.xml  README.md  src

把源代码上传到gitlab 上


[root@caosm03 ~]# git config --global user.name "Administrator"
[root@caosm03 ~]# git config --global user.email "admin@example.com"
[root@caosm03 ~]# git clone git@caosm03.com:root/zrlog-master.git
[root@caosm03 zrlog-master]# \cp /usr/local/zrlog-master/* -rf .
[root@caosm03 ~]# cd zrlog-master/
[root@caosm03 zrlog-master]# git add .
[root@caosm03 zrlog-master]# git commit -m "add zrlog"
[master (root-commit) 7fafe14] add zrlog
[root@caosm03 zrlog-master]# git push -u origin master
Counting objects: 448, done.
Compressing objects: 100% (419/419), done.

由于我的jenkins 本身就是基于tomcat   所以我这里不需要单独安装tomcat 了

配置项目管理接口配置


[root@caosm03 conf]# vim  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 username="admin" password="admin123" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />

注意:配置完之后 需要重启tomcat , 因为本身tomcat 上有jenkins 还做了配置 重启会时间长一些耐心等待一些!

已经成功可以访问

如果不能成功访问提示:403access denied


注意修改这个文件
[root@caosm03 META-INF]# vim context.xml
/usr/local/tomcat/webapps/manager/META-INF
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
        allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.24.*" /> 支持正则匹配
更改完配置 注意进行重启

正常访问manager

14.jpg?raw=true

填写刚才配置文件里面输入的用户名以及密码

15.jpg?raw=true

jenkins 通过通过maven 编译源码包 生成war 包访问tomcat 的manager 的api 接口进行发布



安装maven插件

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

[root@caosm03 caosm]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
--2017-12-22 17:07:48--  http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
Resolving mirrors.tuna.tsinghua.edu.cn... 101.6.6.178, 2402:f000:1:416:101:6:6:178
Connecting to mirrors.tuna.tsinghua.edu.cn|101.6.6.178|:80... connected.
HTTP request sent, awaiting response... 200 OK

[root@caosm03 caosm]# tar -zxvf apache-maven-3.5.2-bin.tar.gz  -C /usr/local/
[root@caosm03 apache-maven-3.5.2]# /usr/local/apache-maven-3.5.2/bin/mvn --version 查看版本
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00)
Maven home: /usr/local/apache-maven-3.5.2
Java version: 1.8.0_77, vendor: Oracle Corporation
Java home: /usr/java/jdk1.8.0_77/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-642.el6.x86_64", arch: "amd64", family: "unix"



系统管理----->全局工具配置


Maven Configuration 里面配置settings.xml 的位置

17.jpg?raw=true

Maven的设置

16.jpg?raw=true


配置java

22.jpg?raw=true


保存--->应用



安装插件

Maven Integration plugin 发布maven 所使用的插件

Deploy to container 发布到远程 机器所使用的机器

安装完插件进行重启jenkins



创建job


构建一个maven 项目

项目名称   caosm_java   确定

源码管理

18.jpg?raw=true

19.jpg?raw=true

20.jpg?raw=true

bulid

21.jpg?raw=true

构建后操作

24.jpg?raw=true

25.jpg?raw=true



保存应用